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

问题描述 投票:0回答:1

我是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操作,它可以工作。是否可以删除操作数和运算符之间的空格?

java java.util.scanner next removing-whitespace
1个回答
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]);
   }
}  

© www.soinside.com 2019 - 2024. All rights reserved.