Как извлекать две переменные string, отделенные знаком?

Я должен писать калькулятор в java. Попадает текст в string этой формы: "12.3+22.12". Как я могу способствовать тому, чтобы он отличился между первым и вторым термином в то же время, что я допускаю, что тип операции должен осуществляться (Он суммирует, он остается, умножение или деление). Я подумал, что могли бы быть извлеченными три переменные; одна с первым термином, одна со вторым и другой с оператором, чтобы потом использовать переключатель. Но я не знаю, как делать это первым.

1
задан 18.01.2017, 23:22
0 ответов

Попытайся со следующим кодом:

//este String es el que recibes    
String numero = "12*22.12";
double num1 = 0;
double num2 = 0;
String[] array = null;
//Se busca en el String que simbolo contiene
if(numero.contains("+")){
    //Se hace un Split para dividir al String
    array = numero.split("\\+");
    num1 = Double.valueOf(array[0].trim());
    num2 = Double.valueOf(array[1].trim());
    //Se hace la suma
    System.out.println("La suma es: " + (num1+num2));
}else if(numero.contains("-")){
    array = numero.split("-");
    num1 = Double.valueOf(array[0].trim());
    num2 = Double.valueOf(array[1].trim());
    System.out.println("La resta es: " + (num1-num2));
}else if(numero.contains("*")){
    array = numero.split("\\*");
    num1 = Double.valueOf(array[0].trim());
    num2 = Double.valueOf(array[1].trim());
    System.out.println("La multiplicación es: " + (num1*num2));
}else if(numero.contains("/")){
    array = numero.split("/");
    num1 = Double.valueOf(array[0].trim());
    num2 = Double.valueOf(array[1].trim());
    System.out.println("La division es: " + (num1/num2));
}
4
ответ дан 03.12.2019, 17:37

Теги

Похожие вопросы