1
import java.util.Scanner;

public class CHP4Ex
    {
        Scanner scan = new Scanner(System.in);
        public static void main(String[] args)
        {
            System.out.println("enter a n: ");
            int n = scan.nextInt();
            int i=10;
            while (i<n)
            {
                System.out.println(i);
                i = i + 10;
            }
        }
}

为什么我会收到此错误?我基本上是在编写一个 while 循环,它打印所有可被 10 整除且小于 n 的正数。例如,如果 n 为 100,请输入 10 ... 90。

4

2 回答 2

5

将 Scanner 类对象放在 main 函数中。基本上问题是您的代码违反了静态功能。您不能在静态函数中使用非静态成员,在您的情况下 main 是静态的。所以应该是:

import java.util.Scanner;

public class CHP4Ex
    {

        public static void main(String[] args)
        {
            Scanner scan = new Scanner(System.in);
            System.out.println("enter a n: ");
            int n = scan.nextInt();
            int i=10;
            while (i<n)
            {
                System.out.println(i);
                i = i + 10;
            }
        }
}
于 2013-10-22T08:55:38.753 回答
0

您不能在静态上下文中引用非静态变量,因此请更改

Scanner scan = new Scanner(System.in);

private static Scanner scan = new Scanner(System.in);它应该工作

于 2013-10-22T09:02:41.593 回答