开发者社区> 问答> 正文

Java程序跳过输入?

我试图使用基本的Java代码构建一个简单的计算器,并更好地理解OOP,所以,我这样写:

import java.util.Scanner;

public class Calc {

public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("Enter a number: "); int num1 = input.nextInt();

System.out.println("Enter an operation: ");
String opr;
opr = input.nextLine();

if(opr == "+") {
    System.out.println("Enter another Number: ");
    int num2 = input.nextInt();
    Operation op = new Operation(num1, num2);
    op.addition();
} else if (opr == "-") {
    System.out.println("Enter another Number: ");
    int num2 = input.nextInt();
    Operation op = new Operation(num1, num2);
    op.subtraction();
} else if (opr == "*") {
    System.out.println("Enter another Number: ");
    int num2 = input.nextInt();
    Operation op = new Operation(num1, num2);
    op.multiplication();
} else if (opr == "/") {
    System.out.println("Enter another Number: ");
    int num2 = input.nextInt();
    Operation op = new Operation(num1, num2);
    op.division();
} else {
    System.out.println("Please, Enter a valid operation!");
}

}

和另一个用于数学运算的类:

import java.util.Scanner;

public class Operation {

static int Num1; static int Num2;

Scanner input = new Scanner(System.in); public Operation(int x, int y) { x = Num1; y = Num2; }

public void addition() {

System.out.println(Num1 + Num2);

}

public void subtraction() {

System.out.println(Num1 - Num2);

}

public void multiplication() {

System.out.println(Num1 * Num2);

}

public void division() {

System.out.println(Num1 / Num2);

}

但它不接受操作输入,而是直接进入下一行代码,如下所示:

Enter a number: 4 Enter an operation: Please, Enter a valid operation!

任何人都可以指出我的错误吗?

注意:我一般是Java和编程方面的新手。所以,如果我的代码不是最好的,请不要介意我,我还在学习。


问题来源:stackoverflow

展开
收起
七天一失眠 2020-04-11 16:02:35 2082 0
1 条回答
写回答
取消 提交回答
  • 做一个优秀的阿里云志愿者

    使用 input.next 而不是 input.nextLine nextNext接受数字和换行符\n。在开关ts中检查换行符。


    答案来源:stackoverflow

    2020-04-11 16:02:45
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载