我是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操作,它可以工作。有没有办法删除操作数和运算符之间的空格?
答案 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]);
}
}