Есть ли способ создать простое уравнение с помощью сканера - PullRequest
0 голосов
/ 09 октября 2019

Я новичок в Java, и я пытаюсь выяснить, почему 2 операнда с оператором "без пробелов" не разрешены в сканере.

Я пытаюсь сделать вывод, который делает

enter an operand with an operator and another operand: 
1+1 
The answer is: 2.0 

Первая и последняя строки в порядке, но во 2-й строке я подумал, что это будет просто, но я получаюошибка, когда я ставлю 1 + 1. Однако, когда я делаю 1 + 1, это работает (с пробелами). Я объявил 3 переменные для ввода в сканер:

double input1 = keyboard.nextDouble();
char operator = keyboard.next().charAt(0);
double input2 = keyboard.nextDouble();

Я пробовал это, но произошла ошибка, но при выполнении 1 + 1 с использованием сканера (выше) это работало. Есть ли способ убрать пробелы между операндами и оператором?

1 Ответ

0 голосов
/ 09 октября 2019

Это не работает, потому что вы не вводите это с пробелами. Попробуйте ввести отдельно, как ввести 1 и ввод, а затем + и ввод, а затем 1. надеюсь, что это поможет вам.

import java.util.*;
import java.io.*;
public class operations{
   public static void main(String[] args){
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter the equation");
      String eq  = sc.nextLine();
      System.out.println(eq);
      String[] result = eq.split("(?<=[-+*/])|(?=[-+*/])");
      System.out.println(result[0]);
      System.out.println(result[1]);
      System.out.println(result[2]);
   }
}  

...