错误:非法开始表达

时间:2016-11-14 20:37:36

标签: java

我在尝试编译这个程序时经常遇到这个错误 - 我知道静态变量是类范围的变量,不能放入非静态方法或变量中。正如我在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);
    }
}

1 个答案:

答案 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);
    }
}

了解何时使用statichttps://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html