gpt4 book ai didi

java - 将运算符保存在数组中,错误

转载 作者:行者123 更新时间:2023-12-02 08:26:05 25 4
gpt4 key购买 nike

为了了解我想用这段代码详细说明什么,如下:

  1. 输入两个数字:10 7
  2. 选择运营商:例如(+、-、* 和/)
  3. 10 * 7 是多少?
  4. 正确!

    int[] arr = new int[5];


    System.out.println("enter two numbers: ");
    arr[1] = sc.nextInt();
    arr[2] = sc.nextInt();


    System.out.println("Choose Operator: ");
    arr[3] = sc.nextInt();


    int operator = arr[1]+arr[3]+arr[2];


    System.out.print("what's "+operator);
    int svar = sc.nextInt();


    if (svar == operator)
    System.out.println("Correct!");
    else
    System.out.println("Wrong - the right answer is "+operator);

现在我在运行此代码中的某些方面时遇到问题。编译工作正常,但每次程序要求“选择运算符”时,编译器都会响应以下错误:

  • 线程“main”中出现异常
    • java.util.InputMismatchException 位于
    • java.util.Scanner.throwFor(未知
    • 来源)位于
    • java.util.Scanner.next(未知
    • 来源)位于
    • java.util.Scanner.nextInt(未知
    • 来源)位于
    • java.util.Scanner.nextInt(未知
    • 来源)
    • 在 test1.main(test1.java:13)

我想知道我该如何处理这个问题。但目标是“保存”所需的运算符,然后将其与 arr[1] 和 arr[2] (如int 运算符所示)放在一起,以“某种程度上”创建整个数学手术。 但是当我选择一个特定的运算符时就会发生错误。

我希望能在这方面得到一些帮助。谢谢!

最佳答案

首先,您尝试互换使用 intString,这在 Java 等强类型语言中是不可能的。

其次,对于这种计算器应用程序,您应该使用堆栈。为了最简单的实现,使用一个数字堆栈和一个运算符堆栈。

关于java - 将运算符保存在数组中,错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4490653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com