Estou estudando Java pelo Livro “Java como Programar - 4º Edição” .
O Livro apresenta um exercicio com o seguinte codigo:
publicclassMystery{publicstaticvoidmain(String[]args){inty,x=1,total=0;while(x<=10){y=x*x;System.out.println(y);total+=y;++x;}System.out.println("Total é : "+total);}}
Preciso informar a saida dessa classe, executando essa classe recebo a segunte saida:
1
4
9
16
25
36
49
64
81
100
Total é : 385
Gostaria de entender passo-a-passo como o programa esta gerando os valores
Voce tem um condição onde x = 1 ou seja x recebe valor 1.
publicstaticvoidmain(String[]args){inty,x=1,total=0;while(x<=10){//Enquanto x for menor ou igual a 10 continuará até que x seja maior que 10y=x*x;// y recebe x * x, ou seja, na primeira passagem x vale 1 como declarado. Então será 1 * 1System.out.println(y);//Imprime y que é 1total+=y;//Essa sintaxe significa que total recebe ele mesmo + y seria o mesmo que total = total + y//Como total vale 0 ele somará os demais até que seja igual a 10++x;// Incrementa x, ou seja, x que é 1 recebe +1 e x passa a valer 2 e volta o processo com x valendo 2. //O fim desse processo é quando x for maior que 10.}System.out.println("Total é : "+total);//Quando acaba a condição do bloco while apresenta a soma do total total.}
Flw
VictorMatuk
rodaaprimeiravezinty=1;intx=1;total=0;while(x<=10){y=x*x;// y = 1 * 1System.out.println(y);// imprime 1total+=y;// pegar o que tem no total e soma com y. resultado de total = 1++x;// x era 1, incrementa em 1, fica 2}
rodadenovointy=1;intx=2;total=1;
while(x<=10){y=x*x;// y = 2 * 2System.out.println(y);// imprime 4total+=y;// pegar o que tem no total e soma com y. resultado de total = 5++x;// x era 2, incrementa em 1, fica 3}
rodadenovointy=4;intx=3;total=5;
while(x<=10){y=x*x;// y = 3 * 3System.out.println(y);// imprime 9total+=y;// pegar o que tem no total e soma com y. resultado de total = 14++x;// incrementa x em 1}
rodadenovointy=9;intx=4;total=14;
while(x<=10){y=x*x;// y = 4 * 4System.out.println(y);// imprime 16total+=y;// pegar o que tem no total e soma com y. resultado de total = 30++x;// incrementa x em 1}
e por ai vai
edumoreira
Olá,
Sugiro que pesquise sobre debug no eclipse ou netbeans, o que vc estiver usando pra programar, escreva o programa em uma destas IDE’s e rode em modo debug, assim vc pode acompanhar a execução do programa linha a linha.
Desta forma vai entender perfeitamente como ele funciona.