[RESOLVIDO] Dúvida no .split

3 respostas
J
import java.util.*;

import javax.swing.*;

public class estudo
{
	public static void main(String[] args)
	{
	  String continha = JOptionPane.showInputDialog("Digite a operação: ");
	  String[] vetor = continha.split("");
	  int n1 = Integer.parseInt(vetor[0]);
	  int n2 = Integer.parseInt(vetor[2]);
	  String op = vetor[1];
	  int resultado = 0;
	  

	  switch (op)
	  {
	  case "+" : 
	    resultado = n1 + n2;
	    String frase = "O resultado é: " + resultado; 
	    JOptionPane.showMessageDialog(null, frase);
	    break;
	    
	  case "-" : 
		    resultado = n1 - n2;
		    String frase2 = "O resultado é: " + resultado; 
		    JOptionPane.showMessageDialog(null, frase2);
		    break;
		    
	  case "*" : 
		    resultado = n1 * n2;
		    String frase3 = "O resultado é: " + resultado; 
		    JOptionPane.showMessageDialog(null, frase3);
		    break;
		    
	  case "/" : 
		    resultado = n1 / n2;
		    String frase4 = "O resultado é: " + resultado; 
		    JOptionPane.showMessageDialog(null, frase4);
		    break;
		    
	  
	  }
	  
	  	  
	}
}

[img]http://img99.imageshack.us/img99/7881/semttulowpg.png[/img]

Pessoal gostaria que alguem me ajudasse a solucionar esse problema, eu tinha a intenção de fazer um programa que o usuario digitasse por exemplo: 5+3 e fosse realizada essa soma e exibida na tela.
Obrigado

3 Respostas

drsmachado

É que split("") não funciona.
Você poderia optar por split("|"), porém, isso não funcionaria se o usuário inserisse:
-1+ 3
10-4
1 * 4
1.5/3
Pois ele dividiria a String inserida em n partes, tantas quantas forem os caracteres existentes.

A solução seria usar um split("+") e ver se retorna algo, se não, tentar um spliit("-") e assim por diante.
E, ao invés de switch, usar um contains ou indexOf e ver se a String passada possui um +, -, *. /

J

Aff pesquisei esse contains e tentei implementar e deu um erro semelhante
alguem poderia postar esse programinha pra mim?
Agora ta dando ArrayIndexOfBounds

J

Aewww agora deu certo

int tamanho = vetor.length;
int n2 = Integer.parseInt (vetor[tamanho-1]);

Criado 2 de agosto de 2012
Ultima resposta 2 de ago. de 2012
Respostas 3
Participantes 2