Dúvida com a string binaria

4 respostas
dioni_deivid_dors
String aux= JOptionPane.showInputDialog("informe um numero em binario");
      /** 
         estou com dificuldades de fazer esse código, nao entendo pq está dando errado... 
         se eu colocar um numero binario ele diz que esta errado, a função charAt()
         retorna o valor de uma determinada possição do vetor String (String é um vetor)
         logo em sigida faz a comparação se é 0 ou 1 ele teste possição por possição....       
     */
     for(int i=0;i<aux.length();i++){
               
         if(aux.charAt(i)==0 || aux.charAt(i)==1){
             System.out.println("certo");
         }else{
             System.out.println("errado");
         }
         
     }

4 Respostas

B

Faltou colocar aspas simples no zero e no um.

Leandro_M

Apenas complementando, ou fazer da forma abaixo

if((aux.charAt(i)-48)==0 || (aux.charAt(i)-48)==1){
dioni_deivid_dors

pq -48 colega ? :X

Leandro_M

Tabela ASCII

Na tabela ASCII o número 1 por exemplo equivale a 49.

aux.charAt(i) = ‘1’ é um char, que na tabela ASCII seu valor decimal é 49

Quando você faz aux.charAt(i) - 48 é o mesmo que fazer 49 - 48 = 1, sendo seu resultado um valor inteiro.

Exemplo

public class Ascii { public static void main(String args[]) { for (int i = 32; i <= 126; i++) System.out.println(i + " : " + (char) i); } }

Criado 25 de maio de 2013
Ultima resposta 25 de mai. de 2013
Respostas 4
Participantes 3