Java 有没有办法用扫描仪创建一个简单的方程式

Java 有没有办法用扫描仪创建一个简单的方程式,java,java.util.scanner,next,removing-whitespace,Java,Java.util.scanner,Next,Removing Whitespace,我是java的初学者,我正在试图弄清楚为什么在扫描程序中不允许使用带有“无空格”运算符的两个操作数 我正试着做一个输出 enter an operand with an operator and another operand: 1+1 The answer is: 2.0 第一行和最后一行是可以理解的,但是第二行我认为它很简单,但是当我把1+1放进去时,我得到了一个错误。但是,当我使用1+1时,它会起作用(使用空格)。我声明在扫描仪中输入3个变量: double input1 = ke

我是java的初学者,我正在试图弄清楚为什么在扫描程序中不允许使用带有“无空格”运算符的两个操作数

我正试着做一个输出

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和enter,然后+和enter,然后1。 希望这对你有帮助

import java.util.*;
导入java.io.*;
公营业务{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
System.out.println(“输入公式”);
字符串eq=sc.nextLine();
系统输出println(eq);

String[]result=eq.split((?
String[]nums=keyboard.nextLine().split(“+”)
)-使用Integer.valueOf(nums[0])等,但扫描仪必须能够读取任何不特定的运算符,以及为什么是数组?在这种情况下,您最好找到一个为您执行此操作的库。
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]);
   }
}