bom eu ainda to seguindo com as aulas da apostila da caelum, proximo exercico foi esse:
- (opcional) Escreva um programa que, dada uma variável x (com valor 180, por exemplo), temos y de acordo
com a seguinte regra:
se x é par, y = x / 2
se x é impar, y = 3 * x + 1
imprime y
O programa deve então jogar o valor de y em x e continuar até que y tenha o valor final de 1. Por
exemplo, para x = 13, a saída será:
//40 -> 20 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1
class Teste4 {
public static void main(String[] args){
int x=13;
int y;
if(x % 2 == 0){
System.out.print("NUMERO PAR -->> "+x);
}else{
System.out.print("NUMERO IMPAR -->> "+x);
x = 3*x+1;
y = x;
}
for(int i = x; i > 1; i++){
if(x % 2 != 0){
x = 3*x+1;
System.out.print("-->> "+x);
y = x / 2;
x = y;
System.out.print("-->> "+x);
}else{
y = x / 2;
x = y;
System.out.print("-->> "+x);
if(x==1){
break;
}
}
}
}
}
Alguém pode corrigir pra mim, e se puder agradeceria se comentasem o código, caso achem erros.
E tb quanto a identação, será que está certo assim?
Ainda to no começo, então criticas são muito bem aceitas.
Sei que para quem analizar, é facil, mas pra mim ainda está complicado…eheheheh
VLW