Java básico ;D

5 respostas
E

Olá, tudo bom?

Eu queria converter a string para char, mas quando eu digito uma letra ou numero, sempre da o mesmo resultado, pq?

import javax.swing.*;

public class EliseuE {
    
    public static void main(String[] args){
        
        String nStr=JOptionPane.showInputDialog("Entra um valor inteiro: ");
        
        char[] n= nStr.toCharArray();
        
        System.out.println("Eu escrevi: "+n);
        
        /* O resultado:
         * Eu escrevi: [C@32d08faa*/
        
        //Independe da letra que eu digite o resultado e este Eu escrevi: [C@32d08faa.
        

    }
    
}

5 Respostas

drsmachado
for(int i = 0; i < n.length; i++){
System.out.println("Eu escrevi: "+n[i]);
}
Rodrigo_Sasaki

você está imprimindo o Array, que é um objeto, ele usa o toString() da classe object que imprime da seguinte forma:
getClass().getName() + ‘@’ + Integer.toHexString(hashCode())

Se você quer um char dentro do array, tem que acessar pelo índice. Ex:String str = "Rodrigo"; char[] arr = str.toCharArray(); System.out.println(arr[0]); // Imprime 'R' System.out.println(arr[1]); // Imprime 'o' System.out.println(arr[2]); // Imprime 'd' System.out.println(arr[3]); // Imprime 'r' System.out.println(arr[4]); // Imprime 'i' System.out.println(arr[5]); // Imprime 'g' System.out.println(arr[6]); // Imprime 'o'

S

Esse [C@32d08faa que aparece é a posição dele na memória (sempre aparece algo assim na maioria dos objetos que voce tentar imprimir na tela).

Como se trata de um array você tem que falar para ele qual posição do array será impressa na tela, para isso coloque a posição dele dentro dos [].

No caso seria:

System.out.println("Eu escrevi: " + n[0]);

Lembre-se que os arrays vão de 0 até n-1 onde n é o tamanho dele.

Mas pelo o que eu vi o que você realmente quer é algo do tipo:

import javax.swing.*;  
      
    public class EliseuE {  
          
        public static void main(String[] args){  
              
            String nStr=JOptionPane.showInputDialog("Entra um valor inteiro: ");  
              
            int valor = new Integer(nStr);
              
            System.out.println("Eu escrevi: " + valor);  

        }  
          
    }
E

Muito obrigado pelas respostas!

VLW!

L

Alguem poderia me dizer onde baixo JDK Para Windows xp ? Obrigado!

Criado 25 de junho de 2012
Ultima resposta 27 de jun. de 2012
Respostas 5
Participantes 5