Número impar ou par - DÚVIDA

Faça um programa que, dado um valor X, temos Y com a seguinte regra:
a. Se X é par, Y = X / 2;
b. Se X é impar, Y = 3 * X + 1.
c. Imprima o valor de Y e então atribua o valor de Y a X e continue até que o valor de
X seja 1. Por exemplo, se a entrada for X = 13, teremos: 40, 20, 10, 5, 16, 8, 4, 2, 1.

public static void main(String[] args) {
		metodo(13);
	}
	public static void metodo (int valor){
		
		if( valor % 2 != 1){
			valor = valor / 2;
		} else {
			valor = 3 * valor + 1;
		}
		System.out.println(valor);
		if(valor != 1){
			metodo(valor);
		}
	}

Usando a técnica de recursividade…
Flw

Aí fica fácil !!!

Vou postar as minhas tarefas do serviço o Diegão faz para mim de boa…

O mateusoliveira nem pediu opnião, está escrito direto FAÇA, aí é osso!!

CARA ESTOU MUITO APERREADO AQUI NO SERVIÇO E TENTANDO ESTUDAR. QUERO APRENDER COMO FAZ O MAIS RÁPIDO POSSÍVEL. SOU NOVO, NÃO SABIA QUE FÓRUM ME AJUDARIA TANTO, AQUI TEM UNS CARAS GENTE BOA DEMAIS E ESPERO SER AJUDADO E CONSEQUENTEMENTE AJUDAR. MANDA PRA MIM AÍ SÓ UMA BASE PRA MIM ABRIR MINHA MENTE. OBRIGADO.

[quote=ivandasilva]Aí fica fácil !!!

Vou postar as minhas tarefas do serviço o Diegão faz para mim de boa…

O mateusoliveira nem pediu opnião, está escrito direto FAÇA, aí é osso!![/quote]

Te entendo Ivanzito, to de boa aqui por enquanto… Fiquei com os dedos coçando para fazer essa brincadeirinha… rrsrs
Mas vai do interesse do amigo a aprender…
Tem tudo mastigado na net, porém cabe a cada um entender.
Na hora dos testes para passar em alguma vaga, não vai ter o GUJ.
Será necessário saber.

nem sempre dar de mao beijada igual o diego fez, é ser gente boa :slight_smile:

aqui o povo gosta de ajudar sim… e eles entram sim apenas pra responder a pergunta dos outros…
faço isso direto…

Você ainda quer mais oquê?
Foi feito…

Faça uma loja virtual e por favor me mande o código fonte, passo os detalhes do site mais tarde pois estou na correria . VLW!!
kkk zuera… concordo com o diego… esse código ai deve ter um identico ou pelo menos no mesmo caminho em 5 min de pesquisa no google… logo… pedir no forum um exemplo nao acho uma tragédia assim.
Porém… precisa dar um jeito nisso, mesmo que demore, voce tem que fazer sozinho, entender sozinho…
viu o código do diego? blz… agora tenta replicar pelo menos e tal…

Já que tem a resp e etc etc … coloca resolvido …

abss

Faça um programa que, dado um valor X, temos Y com a seguinte regra:
a. Se X é par, Y = X / 2;
b. Se X é impar, Y = 3 * X + 1.
c. Imprima o valor de Y e então atribua o valor de Y a X e continue até que o valor de
X seja 1. Por exemplo, se a entrada for X = 13, teremos: 40, 20, 10, 5, 16, 8, 4, 2, 1.


import javax.swing.JOptionPane;

public class IMPAR2 {
public static void main(String[] args) {
int num1,valor;
num1 = Integer.parseInt(JOptionPane.showInputDialog(“Primeiro Número:”));
if( num1 % 2 == 0){
valor = num1 / 2;
num1 = valor;
JOptionPane.showMessageDialog(null, "O numero é par e o valor de Y será: "+num1);
//*agora o escrever o numero até chegar a o numero 1:
num1–;
} else {
valor = 3 * num1 + 1;
num1=valor;
JOptionPane.showMessageDialog(null, “O numero é ímpar e o valor de Y será:”+num1);
//*agora o escrever o numero até chegar a o numero 1:
num1–;
}

  }  

}


Até agora só não consegui fazer a letra ‘‘c’’…

[quote=mateusoliveira]Faça um programa que, dado um valor X, temos Y com a seguinte regra:
a. Se X é par, Y = X / 2;
b. Se X é impar, Y = 3 * X + 1.
c. Imprima o valor de Y e então atribua o valor de Y a X e continue até que o valor de
X seja 1. Por exemplo, se a entrada for X = 13, teremos: 40, 20, 10, 5, 16, 8, 4, 2, 1.
[/quote]

import javax.swing.JOptionPane;

public class impar4 {
public static void main(String[] args) {
int num,valor;
int i=1;
num = Integer.parseInt(JOptionPane.showInputDialog(“Primeiro Número:”));
if( num % 2 == 0){
valor = num / 2;
num = valor;
JOptionPane.showMessageDialog(null, "O numero é par e o valor de Y será: "+num);
do{
System.out.println("O valor é "+num);
num–;
}while(i <= num);
} else {
valor = 3 * num + 1;
num=valor;
JOptionPane.showMessageDialog(null, “O numero é ímpar e o valor de Y será:”+num);
//*agora escrever o numero até chegar a o numero 1:
do{

       	 System.out.println("O valor é "+num);
       	 
       	 num--;
       	 
       	 }while(i <= num);
    }  
     
  }  

}