我在尝试编译这个程序时经常遇到这个错误 - 我知道静态变量是类范围的变量,不能放入非静态方法或变量中。正如我在java的初学者(像我一样)的其他问题中所看到的那样,它可能会在你的面前“正确”。事情。任何帮助表示赞赏。
import java.util.Scanner;
public class Sims
{
public static void main(String[] args)
{
//Class constructor
System.out.println("Enter a last name");
static Scanner name = new Scanner(System.in);
static String names1 = name.nextLine();//reading the input
static String last_name = names1;
intro();
}
public static void intro()
{
System.out.println("I'm an instance! " + last_name);
}
}
答案 0 :(得分:0)
从主范围内的所有局部变量中删除static
。
import java.util.Scanner;
public class Sims
{
private String last_name;
public static void main(String[] args)
{
//Class constructor
System.out.println("Enter a last name");
Scanner name = new Scanner(System.in);
String names1 = name.nextLine();//reading the input
String last_name = names1;
intro(last_name);
}
public static void intro(String name)
{
System.out.println("I'm an instance! " + name);
}
}
了解何时使用static
,https://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html。