Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用户应通过获取输入的scanner类输入一个整数,并检入if条件_Java_Input - Fatal编程技术网

Java 用户应通过获取输入的scanner类输入一个整数,并检入if条件

Java 用户应通过获取输入的scanner类输入一个整数,并检入if条件,java,input,Java,Input,要求: 从用户处获取输入号码。 验证给定输入是否为数字。 如果它是一个数字,则检查斐波那契数列并显示相同的消息。 如果输入不是数字,则显示,请输入数字并再次请求输入。 用户应给出“Q”以退出 如果给出输入。执行上述过程并请求下一个输入,直到他们点击“Q”。 我已经做了一个逻辑,但无法检查条件是否正确 public static void main(String args[]) throws Exception { boolean quit = false; BufferedRea

要求:

从用户处获取输入号码。 验证给定输入是否为数字。 如果它是一个数字,则检查斐波那契数列并显示相同的消息。 如果输入不是数字,则显示,请输入数字并再次请求输入。 用户应给出“Q”以退出 如果给出输入。执行上述过程并请求下一个输入,直到他们点击“Q”。 我已经做了一个逻辑,但无法检查条件是否正确

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或任何其他方法。