Dois CHAR em INT?[RESOLVIDO]

Olá amigos, estou com um problema num trabalho da faculdade e ficaria muito grato se alguém pudesse me ajudar. Num certo momento do trabalho precisei ler uma string com o formato de um polinômio assim:
15x3-4x2+10x1+7x0

Sendo q o numero depois do x representa o expoente. Li o polinomio e armazenei num vetor de char

polinomio = scan.nextLine();
		System.out.println("polinomio "+polinomio);
		System.out.println();
		char b[] = polinomio.toCharArray();

E depois separei os números dos demais termos em outros vetores de char, um para cada tipo de elemento

char numero[]; char variavel[]; char sinal[];

Quando fui armazenar os elementos no vetor numero[] não pude coloca-los de qualquer forma,pois os numeros se misturariam e eu não iria saber quantas casa decimais teriam cada um.
ex: 15x3-4x2+10x1+7x0
No vetor ficaria assim, sem separação: 1534210170

	    [1][5][3][4][2][1][0][1][7][0]

Então resolvi colocar uma vírgula ‘,’ sempre que a proxima posição fosse um ‘x’ ou um sinal ‘+’ ou ‘-’, então o vetor numero, de acordo com exemplo acima, ficou assim:
15,3,4,2,10,1,7,0

          [1][5][,][3][,][4][,][2][,][1][0][,][1][,][7][,][0]

Agora vem o problema, tenho q transformar cada um desses char em int, o que é bastante facil se fosse somente um numero. Minha dificuldades são:
(1)saber quando os numeros vão ter um duas ou mais casas decimais
(2)transformar em int elementos char q tem duas casas decimais, como faço isso? Concatenar?

Espero q alguem me ajude com esse problema.
Desde já, agradeço.

Esse código não resolveria seu problema ?

[code] public static void main(String[] args) {

	String valores = "15x3-4x2+10x1+7x0";
	valores = valores.replaceAll("x", " ");
	System.out.println(valores);
	valores = valores.replaceAll("-", " ");
	System.out.println(valores);
	valores = valores.replaceAll("\+", " ");
	System.out.println(valores);
	String cortados[] = valores.split(" ");

	for (int i = 0; i < cortados.length; i++) {
		System.out.println(cortados[i]);
	} // for

} // main[/code]

Se não posso tentar ajudar considerando seu vetor mesmo.
edit: tenta executar ele que você vera que o vetor “cortados” ao final contém cada valor numérico em uma casa (independente de ser unidade, dezena etc)

Valeu CrOnNoS não era q eu tava imaginando mas pelo q vi vai dar pra fazer desse jeito, so tem um problema agora como transformar essas Strings em int.
Valeu

Para transformar String, basta usar o método parseInt() da classe Integer:

[code] String numero = “1”;
int um = Integer.parseInt(numero);

	char outroNumero = '6';
	int seis = Integer.parseInt(String.valueOf(outroNumero));[/code]

Valeu CrOnNoS agora vou conseguir terminar meu trabalho
Abração!!
Muito Obrigado.

Estava tentando continuar meu programa so que me veio uma duvida meus numeros tambem q ser negativos, ai retirei a parte do codigo que dizia:

valores = valores.replaceAll("-", " ");

Pensei q assim o sinal negativo ficaria e eu teria meu numero negativo, mas não foi isso q aconteceu o programa acabou armazenando

3-4 em uma posição do vetor. Como conseguir colocar um numero negativo e como funciona esse repleaceAll(“x”, " ") .
Valeu

valores = valores.replaceAll("-", " -");

Tente isso. O metodo replaceAll vai pegar todos os “-” e transformar em " -", que vai separar mas continuar mantendo o sinal negativo.
Boa sorte

Metodo replaceAll - Inglês

Valeu Polimorphism,
mas continua armazenando na mesma posição a String “3-4” no vetor.
Como faço pra arrumar isso.

O replaceAll subistitui todas as strings que você enviou no primeiro parâmetro pela enviada no segundo.
Ou seja, todos os “x” na sua string são subistituidos por " " (espaço).
Então quando você remove o replace do “-” sua string vai ficar 15 3-4 2 10 1 7 0, e quando o método valores.split(" "); (que retorna um vetor de strings correspondente a separar cada valor entre “espaços” em uma string do vetor) for chamado, ele não vai separar o 3 do -4.
Tenta fazer como o polimorph disse e vai manter o sinal.
Mas você não tinha salvo os sinais em outro vetor ?

EDIT: Continua ? Você trocou o “valores = valores.replaceAll(”-", " “);” pelo replace do polimorph ?

Resolvi parar de armazenar os sinais em outo vetor para tornar o programa mais objetivo e rapido.
Subistitui
valores = valores.replaceAll("-", " “);
por
valores = valores.replaceAll(”-", “-”);
mas continua armazenando na mesma posição o 3-2

5x3-2x7+19x1+4x0
posição[0] = 5
posição[1] = 3-2
posição[2] = 7
posição[3] =19
posição[4] = 1
posição[5] = 4
posição[6] = 0

é valores = valores.replaceAll("-", " -"); <-- repare que tem um espaço no segundo
Lembre-se que o split está separando os valores pelos " " (espaços)

[quote=Polimorphism]valores = valores.replaceAll("-", " -");

Tente isso. O metodo replaceAll vai pegar todos os “-” e transformar em " -", que vai separar mas continuar mantendo o sinal negativo.
Boa sorte

Metodo replaceAll - Inglês[/quote]

O método separa pelos espaços…

Eu dei a idéia de : valores = valores.replaceAll("-", " -");
Você colocou: valores = valores.replaceAll("-", “-”); // Tirou o espaço que faria slip separar =D

[]`s

No valeu não tinha visto o espaço em branco.
Acho q ta na hora de começar a usar oculos
Huashuasuhahs
Valeu galera.