Eu queria converter a string para char, mas quando eu digito uma letra ou numero, sempre da o mesmo resultado, pq?
importjavax.swing.*;publicclassEliseuE{publicstaticvoidmain(String[]args){StringnStr=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.}}
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
Sem_Nome
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:
importjavax.swing.*;publicclassEliseuE{publicstaticvoidmain(String[]args){StringnStr=JOptionPane.showInputDialog("Entra um valor inteiro: ");intvalor=newInteger(nStr);System.out.println("Eu escrevi: "+valor);}}
E
eliseumixmt
Muito obrigado pelas respostas!
VLW!
L
leal007
Alguem poderia me dizer onde baixo JDK Para Windows xp ? Obrigado!