For e binario(codigo erroneo)

3 respostas
G
public class teste

{

public static void main(String args[])

{

String b = new String();

for(int d = 0; d<11; d++)

{

while((d/2)>=1 )

{

b = d % 2 + b ;

d = d / 2;

}

b =  d + b;

System.out.println(b);
}
  }
}

gente eu fiz uma rotina com o comando for() e deu tudo certo…
quando fui colocar dentro dessa rotina deu um bug legal, alguem saberia por que?
grato.

3 Respostas

R

Ola Gollun, creio que o problema se dá porque a variável “d” foi inicializada dentro do for, e portanto, inacessível ao while, tente fazer o seguinte:

public class teste
{
	public static void main(String args[])
	{
		int d;
		String b = new String();
		
		for(d = 0; d<11; d++)
		{
			while((d/2)>=1 )
			{
				b = d % 2 + b ;
				d = d / 2;
			}
		
			b = d + b;
			System.out.println(b);

		}
	}
}

Eu não parei pra olhar nem pra testar o código, só vi que a variável estava dentro do for e imaginei que não pegaria no while, depois vc vê se é isso mesmo…

Abraços!

G

continua dando o mesmo bug…
no bog ocorre o seguinte…
0010101010101
101010101010101
10101010101010101
1010101010101

o que eu quero é:

0 - 0;

1 - 1;

2 - 10;

.

.

.

10 - 1010;

e isso não está ocorrendo, eu ja tentei o comando for o comando while e continua dando o mesmo bug ja mensionado…
tem como corrigir isso!
grato.

F

tenta assim:

public static void main(String args[])
  {
    int d=1;
    String b = new String();
    
    int c;
    int i=0;
    for (d=1;d<11;d++)
    {
       int d2 =d;
       
        while((d2/2)>=1 )
        {
            b = d2 % 2 + b ;
            d2 = d2 / 2;
        }
        b =  d2 + b;
        b =  d +" - " +b;
        System.out.println(b);
        b="";
    }
     
}
Criado 7 de março de 2005
Ultima resposta 8 de mar. de 2005
Respostas 3
Participantes 3