String to caracter

ae pessoal estava tentando fazer um exercicio do livro java como programascom swing dos deitel , que recebe um caracter do usuario com JOptionPane.showInput(""); e converte-lo para inteiro usando um cast mas to com um probleminha o JoptionPane retorna uma string , (me sinto um idiota) mas como converto uma string em caracter , nos doc não encontrei o metodo character.parseChar

E pq vc não converte a String para inteiro?

Para transformar a String em char tenta isso:
char ch[] = nome_da_string.getChars();

Me corrijam se estiver errado por favor

Bom ikarus…
Creio q seja o seguinte…

O JOptionPane recebe strings, se essa string for “1234”, vc consegue convertê-la em numero, se for “abcd”, talvez converta tmb(nunca tentei, mas talvez converta para o codigo ASCII, como faz o C)

mas se sua string for “abcd” e vc tentar convertê-la em char, ai tem um problema pq o tipo char soh guarda 1 elemento e sua string tem 4 elementos…ai nao tem como!!!

eh como c vc tentasse guardar um array inteiro dentro de uma variavel normal…nao dá pq ela soh guarda 1 valor…

espero q tenha ajudado!!!
qualquer coisa tamos ai

Para converter uma String para inteiro vc pode utilizar a seguinte forma:

String str = "1234"; int i = Integer.parseInt(str);

i terá o valor 1234;

bom pessoal é que o enunciado dizia pra converter um char usando cast mas o livro so ensinava como fazer entrada de dados com joptionpane.

bom tentei com string como indicaram o codigo ficou assim

 import javax.swing.JOptionPane;

 public class Char2Int{
        public static void main(String args[]){
                int  b;//numero que vai ser nostrado
                String  text;
                char caracter[];
                text=JOptionPane.showInputDialog("Entre com o caracter");
                b=Integer.parseInt(text);
                JOptionPane.showMessageDialog(text+" é "+b);
        System.exit(0);
        }
 }

e deu esse erro em tempo de execução

bash-3.00$ java Char2Int
Warning: Cannot convert string “-b&h-lucida-medium-r-normal-sans--140---p--iso8859-1” to type FontStruct
Exception in thread “main” java.lang.NumberFormatException: For input string: “o”
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:468)
at java.lang.Integer.parseInt(Integer.java:518)
at Char2Int.main(Char2Int.java:14)

se entendi o erro é que a string não era um numero e essa a ideia converter um caracter numerico em seu correspondente em ascii,

tentei o getChars , mas ta dando um erro nos argumentos

text.getChars(0,1,caracter,0); ou text.getChars(0,1,caracter[],0);

ele da erro

Tá aí (só que o getChars tb não consegui fazer funcionar):

[code]import javax.swing.JOptionPane;

public class Char2Int{
public static void main(String args[]){
int b; //numero que vai ser mostrado
String text;
text=JOptionPane.showInputDialog(“Entre com o caracter”);
b=Integer.parseInt(text);
JOptionPane.showMessageDialog(null,text+" eh "+b);
System.exit(0);
}
}[/code]

Ah, viajei, você não quer transformar um número que está como char em um int e sim um caracter qualquer. É isso?

Amigo,fiz assim…

import javax.swing.JOptionPane;

 public class Exemplo{
        public static void main(String args[]){
                int  b;//numero que vai ser nostrado
                String  text;
                char caracter[];
                
                text = JOptionPane.showInputDialog("Entre com o caracter");                
                b = (int)text.charAt(0);
                
                JOptionPane.showMessageDialog(null,b + "","RESULTADO",JOptionPane.INFORMATION_MESSAGE);
        System.exit(0);
        }
 } 

Parece não está um código show,mas acho q resolve o problema!!!

valew!

de qual capitulo é esse exercicio ikarus?

TRICOLACO , valeu era assim mesmo

Rojas, é do segundo se não me engano, java como programar apresentando swing, acho que é 3ª edição que achei na biblioteca da faculdade.

Aí brother to chegando na linguagem agora, talvez precise de mais ajuda que você, mas tá aí o que eu consegui fazer… não sei se vai servir pra alguma coisa…

não vá debochar do código…hehehehe :grin:

inté…

=========================================
public class StringTo {

public static void main(String[] args) {
	String teste = "1234";
	char a[] = new char[teste.length()];
	
	for (int i = 0;i<teste.length();i++){
		a[i] = teste.charAt(i);
		System.out.println(a[i]);
	}

}

}