Divisao sucessiva

Ola galera preiciso d uma formula pra encontrar uma divisao sucessiva em java,
alguem pode me ajudar.

Bele.

Pelo que entendi vc precisa de Recursão, mas poderia explicar melhor o que vc precisa ?

até.

to criando um programa pra converter entre bases, decimal, binario, octal e hexadecimal, pra
saber um valor em decimal pra hexadecimal tem q fazer divisao sucessiva por 16 certo, entao
quero isso uma formula pra fazer isso.

Ola amigo!

No java existem metodos prontos que ja fazem isso pra vc…

para converter decimal para hexadecimal, por exemplo, temos :


     int numero= 10

     String hexadecimal = Integer.toHexString(decimal);

[]'s

ola lucasgcp me adiciona no msn ai sou iniciante em java assim vc podera me ajudar melhor,
msn: djwgst@hotmail.com

ok!

Agora estou no trabalho… Mas chegando em casa eu adiciono sim…

[]'s

tudo bem, to tentando aki mas ta um erro, sabe, tenho q criar um programa onde o usuario vai entra com um
numero em uma das bases, dai o program tem que exibir na tela esse mesmo numero nas outras bases.
vc quer ver meu codigo como ta?

Claro! Poste ele aqui dentre a tag code para ficar melhor para visualizar…

ai meu codigo tenho que incrementar uma formula pra fazer uma divisao sucessiva

[code]import java.util.Scanner;

public class Converter
{

public static void main(String args [])
{
        
      int binario=0;// 1ª variavel binario 
      int decimal=0;// 2ªª variavel decimal 
      int octal=0;// 3ª variavel octal 
      String hexadecimal;// 4ª variavel hexadecimal 
      int hexadecimal2=0;
      int valor=0;// 5ª variavel numero digitado pelo usuario 
      int resp=0;// 6ª variavel que obtem a resposta 
    
    Scanner leitor = new Scanner(System.in); 

    System.out.println("\n 1 para Binario\n 2 para Decimal\n 3 para Hexadecimal\n 4 para Octal");
    valor = leitor.nextInt();
    
    if (valor == 1)
    {
        System.out.println("Digite o valor em Binario");
        binario = leitor.nextInt();    
        
        resp= binario/10;
        System.out.println("valor em Decimal: "+resp);     
        
        resp= binario/16;
        System.out.println("valor em Hexadecimal: "+resp);     
        
        resp= binario/8;
        System.out.println("valor em Octal: "+resp); 
                
    }
    
    else if (valor == 2)
    {
        System.out.println("Digite o valor em Decimal");
        decimal = leitor.nextInt();
        
        resp= decimal/2;
        System.out.println("valor em Binario: "+resp); 
         
        tring hexadecimal = Integer.toHexString(decimal);
        System.out.println("valor em Hexadecimal: "+resp);
        
        resp= decimal/8;
        System.out.println("valor em Octal: "+resp);
    }
    
    else if (valor == 3)
    {
        System.out.println("Digite o valor");
        hexadecimal2 = leitor.nextInt();    
        
        
        
        resp = hexadecimal2/2;
        System.out.println("valor em Binario: "+resp); 
         
        resp= hexadecimal2/10;
        System.out.println("valor em Decimal: "+resp);
        
        resp= hexadecimal2/8;
        System.out.println("valor em Octal: "+resp);
         
    }
    else if (valor == 4)
    {
        System.out.println("Digite o valor");
        octal = leitor.nextInt();
        
        resp= octal/2;
        System.out.println("valor em Binario: "+resp); 
         
        resp= octal/10;
        System.out.println("valor em Decimal: "+resp);
        
        resp= octal/16;
        System.out.println("valor em Hexadecimal: "+resp);
         
    }
    
}

}[/code]

Deixe-me ver se intendi…

Voce nao vai querer usar os metodos prontos do java?
Vai preferir fazer os seus?

sim o professor pediu que pra nao usar, tem que ser nossos metodos,
tem como vc me ajudar,

Usa recursão.

Segue 1 pequeno caminho, dá 1 pesquisada sobre o assunto:

[code] public String retornaBinario(double numeroDecimal){

	if (Math.floor(numeroDecimal / 2) == 0){
		if ((numeroDecimal % 2) == 0){
			return "0";
		}else{
			return "1";
		}
	}else {
		if ((numeroDecimal % 2) == 0){
			return "0" + String.valueOf(retornaBinario(numeroDecimal / 2));
		}else{	
			return "1" + retornaBinario(Math.floor(numeroDecimal / 2));
		}
	}
}

[/code]

mas ainda nao estamos vendo esses metodos amigo, o prof. falou q tem q ser com nossos metodos tudo bem simples.

De uma estudada nas estruturas de repetição entao…

While, for, e etc…

Segue 1 exemplo de transformação de decimal para binario, da maneira mais simples.

[code] public String retornaBinario(double numeroDecimal){
String continua = “s”;
String binario = “”;
double auxiliar = numeroDecimal;
do{
if (Math.floor(auxiliar / 2) == 0){
continua = “n”;
if ((auxiliar % 2) == 0){
binario = “0” + binario;
}else{
binario = “1” + binario;
}
}else {
if ((auxiliar % 2) == 0){
auxiliar = auxiliar / 2;
binario = “0” + binario;
}else{
auxiliar = Math.floor(auxiliar / 2);
binario = “1” + binario;
}
}
}while (continua.equals(“s”));

	return binario;
}

[/code]

ola amigo, muito bom esse metodo mas acho q o prof. nao vai querer assim nao, existe medoto mais simples?
como no meu codigo, algo que possa ser implementando a ele.

è só pegar o codigo do metodo e implementar no seu codigo.

certo, vou tentar aki mas acho q nao conseguirei nao, pois nao vi ainda esses metodos.