Java 有没有办法用扫描仪创建一个简单的方程式
我是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
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]);
}
}