Jump to content
V3ND3T4

Explicação do Codigo

Recommended Posts

V3ND3T4

Boas queria saber se alguem pode me explicar q acontece nesse codigo passo a passo quando ele entra no "print" . tou msm a precisar de ajuda desde ja agradeço.

ja corri no eclipse mas o resultado nao me importa quero apenas perceber o q acontece.

Aqui esta o codigo...

int[] t1 = { 5, 3, 9, 2, 8, 1, 7, 4, 0, 6 };
int[] t2 = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
System.out.print("introduza o numero ");
int n = in.nextInt();
while (n != 0) {
System.out.print((char)(t2[t1[n % 10]] + '0'));
n = n / 10;

Share this post


Link to post
Share on other sites
HappyHippyHippo

vou colocar o código do ciclo seguido para ver se percebes o que está a acontecer:

int n = in.nextInt();                                // exemplo para o número de entrada "369"
while (n != 0) {                                     // n != 0 ? não porque é 369
 System.out.print((char)                            // escrever na consola o caracter ...
                        (t2[                        // que se encontra na lista t2 com o índice ...
                            t1[                     // guardado na lista t1 com o índice ...
                               n % 10               // de valor (n % 10 == 369 % 10 == 9)
                                     ]              // t1[9] = 6
                                      ]             // t2[6] = 5
                                        + '0'));    // '0' + 5 = '5' (caracter a ser imprimido)
 n = n / 10;                                        // n = n / 10 = 369 / 10 = 36

while (n != 0) {                                     // n != 0 ? não porque é 36
 System.out.print((char)                            // escrever na consola o caracter ...
                        (t2[                        // que se encontra na lista t2 com o índice ...
                            t1[                     // guardado na lista t1 com o índice ...
                               n % 10               // de valor (n % 10 == 36 % 10 == 6)
                                     ]              // t1[6] = 7
                                      ]             // t2[7] = 6
                                        + '0'));    // '0' + 6 = '6' (caracter a ser imprimido)
 n = n / 10;                                        // n = n / 10 = 36 / 10 = 3

while (n != 0) {                                     // n != 0 ? não porque é 3
 System.out.print((char)                            // escrever na consola o caracter ...
                        (t2[                        // que se encontra na lista t2 com o índice ...
                            t1[                     // guardado na lista t1 com o índice ...
                               n % 10               // de valor (n % 10 == 3 % 10 == 3)
                                     ]              // t1[3] = 2
                                      ]             // t2[2] = 3
                                        + '0'));    // '0' + 3 = '3' (caracter a ser imprimido)
 n = n / 10;                                        // n = n / 10 = 3 / 10 = 0

while (n != 0) {                                     // n != 0 ? yep ... vamos embora ...
}


IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.