有没有一种方法可以使用扫描仪创建简单的方程式

时间:2019-10-09 01:28:45

标签: java java.util.scanner next removing-whitespace

我是Java的初学者,我试图弄清楚为什么扫描仪中不允许使用带有“无空格”运算符的2个操作数。

我正在尝试进行输出

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

第一行和最后一行是可以理解的,但是第二行我认为这很简单,但是当我输入1 + 1时出现错误。但是,当我做1 + 1时,它可以工作(带空格)。我声明了要在扫描仪中输入的3个变量:

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

我尝试了此操作,但是发生了错误,但是通过使用扫描仪(上面)进行1 +1操作,它可以工作。有没有办法删除操作数和运算符之间的空格?

1 个答案:

答案 0 :(得分:0)

  

这不起作用,因为您没有输入空格。尝试输入分别类似于输入1和Enter然后+以及Enter然后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]);
   }
}