netbeans java中的Simple Scanner java程序出错



程序:

package scanner;
import java.util.*;
public class Scanner {
    public static void main(String[] args)throws Exception {
        System.out.println("Enter your name ");
        Scanner scanner = new Scanner(System.in);
        String data=scanner.nextLine();
        System.out.println(data);
    }
}

错误/输出:

运行:
输入您的姓名

Exception in thread "main" java.lang.RuntimeException: Uncompilable source code - constructor Scanner in class scanner.Scanner cannot be applied to given types;
  required: no arguments
  found: java.io.InputStream
  reason: actual and formal argument lists differ in length
    at scanner.Scanner.main(Scanner.java:10)
Java Result: 1
BUILD SUCCESSFUL (total time: 1 second)
不要将类命名为Scanner,因为这会导致与java.util.Scanner的命名冲突!给你的班级起一个不同的名字,比如ScannerTest。一般来说,您会希望避免为类名提供与键或公共核心Java类冲突的名称。

您已将类命名为Scanner,因此在代码中引用简单名称Scanner是指您自己的类(该类没有接受InputStream的构造函数(,而不是java.util.Scanner

要么使用完全限定名java.util.Scanner,要么将类重命名为内置Java类名以外的名称。

System.out.println("Enter your name ");
java.util.Scanner scanner = new java.util.Scanner(System.in);
String data=scanner.nextLine();
System.out.println(data);

在这里,类的名称和java.util.Scanner是相同的。Java试图与您的构造函数相匹配。默认情况下,将添加空构造函数。您的代码中没有参数构造函数匹配项。

相关内容

  • 没有找到相关文章

最新更新