Começe a escrever o código, mesmo que vc não tenho uma ideia certa do que fazer, vai implementando no codigo oque vem na sua cabeça, o que você pensa que vai solucionar o problema, isso ajuda muito a solucionar o exercicio…
bom, eu vi outra pessoa com duvida nesse mesmo problema, para ela eu dei a reposta por ela jah tinha dado um caminho e talz, se você quizer ver… Relembrando que é muito bom você tentar antes de olhar…
Pessoal ta ai onde eu parei. no exercício fala pra usar fors encadeados.
quando ele executa o if divide o x pelo y. so que como faço para essa variável y que agora é ímpar entrar na outra conta e começar o processo novamente.
public class Main {
public static void main(String[] args) {
int x=10;
int y=0;
for(int i = 0; i<1; i++){
if((x % 2)==0){
y = x/2;
System.out.println(y);
}
else
{
y = (3 * x)+1;
System.out.println(y);
}
}
}
}
Obrigado pessoal pela ajuda, gostei muito deste fórum ;
Não precisas de um for, já que não sabes quantas vezes vais fazer o loop mas precisas sim de um while, porque o que sabes é a condição de paragem (y=1)
public class Main {
public static void main(String[] args) {
int y=10;
int x=y; //Esta variável era desnecessária mas vou mantê-la para ser mais fácil de perceber
while (y != 1) { //Entra no loop sempre que y seja diferente de 1
if((x % 2)==0){
y = x/2;
} else {
y = (3 * x)+1;
}
System.out.println(y);
x = y; //x toma o valor de y
}
}
}
A mesma coisa só com uma variável:
public class Main {
public static void main(String[] args) {
int y=10;
while (y != 1) { //Entra no loop sempre que y seja diferente de 1
if((y % 2)==0){
y = y/2;
} else {
y = (3 * y) + 1;
}
System.out.println(y);
}
}
}