Java 用户应通过获取输入的scanner类输入一个整数,并检入if条件
要求: 从用户处获取输入号码。 验证给定输入是否为数字。 如果它是一个数字,则检查斐波那契数列并显示相同的消息。 如果输入不是数字,则显示,请输入数字并再次请求输入。 用户应给出“Q”以退出 如果给出输入。执行上述过程并请求下一个输入,直到他们点击“Q”。 我已经做了一个逻辑,但无法检查条件是否正确Java 用户应通过获取输入的scanner类输入一个整数,并检入if条件,java,input,Java,Input,要求: 从用户处获取输入号码。 验证给定输入是否为数字。 如果它是一个数字,则检查斐波那契数列并显示相同的消息。 如果输入不是数字,则显示,请输入数字并再次请求输入。 用户应给出“Q”以退出 如果给出输入。执行上述过程并请求下一个输入,直到他们点击“Q”。 我已经做了一个逻辑,但无法检查条件是否正确 public static void main(String args[]) throws Exception { boolean quit = false; BufferedRea
public static void main(String args[]) throws Exception {
boolean quit = false;
BufferedReader re = new BufferedReader(new InputStreamReader(System.in));
Scanner sc = new Scanner(System.in);
System.out.println("Enter a number :");
int n;
while (!quit) {
if (sc.hasNextInt()) {
n = sc.nextInt();
while (n <= 0) {
System.out.println("*****Fibonacci Series*****");
int f1, f2 = 0, f3 = 1;
for (int i = 1; i <= n; i++) {
f1 = f2;
f2 = f3;
f3 = f1 + f2;
System.out.print(" " + f3 + " ");
}
}
quit = false;
} else if (!sc.hasNextInt()) {
System.out.println("That's not a number!");
sc.next();
quit = false;
} else(sc.hasNextInt().equals("q")) {
quit = true;
}
}
}
在if条件下,它抛出错误has.class expected您要查找的if条件是if sc.hasNextInt 之后,您可以致电sc.nextInt 整个支票可能如下所示:
if (sc.hasNextInt()) {
int num = sc.nextInt();
//do something with num
}
else if (sc.hasNext() && ("q".equals(sc.next())) ) {
//do something
}
有关扫描仪的详细信息,请阅读。如果sc.nextInt.equalsint:使用此错误说明,您希望实现什么目标?您是否阅读了Scanner.nextInt的javadoc以了解它的功能,以及如果下一个标记不是int会发生什么?抱歉,我将在此处发布完整代码谢谢您,如果我需要检查它是否为string,我应该使用其他条件!同样在if-else中sc.hasNextInt.equalsqsc.hasNextInt.equalsq在else循环中正确吗?您应该阅读java.lang.Scanner的Javadoc。hasNextInt返回一个布尔值,不能对其调用equals或任何其他方法。