Java Can';t使用Scanner类,构造函数未定义,方法未定义
当我想在我的项目eclipse中导入scanner类时,请显示一些错误: 这是我的代码:Java Can';t使用Scanner类,构造函数未定义,方法未定义,java,eclipse,Java,Eclipse,当我想在我的项目eclipse中导入scanner类时,请显示一些错误: 这是我的代码: import java.util.Scanner; public class Scanner { public static void main(String[] args) { Scanner myScanner = new Scanner(System.in); System.out.println(myScanner.nextLine()); }
import java.util.Scanner;
public class Scanner {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
System.out.println(myScanner.nextLine());
}
}
问题是您还声明了一个名为
Scanner
的类。这意味着,当您随后声明类型为Scanner
的变量并尝试调用构造函数时,编译器认为您在谈论您的类。只需将您自己的类更改为其他类(例如,Test
):
或者,如果您的意思是java.util.Scanner
,您可以完全限定名称,但这在可读性方面是个坏主意
// Please don't do this - but it would work.
public class Scanner {
public static void main(String[] args) {
java.util.Scanner myScanner = new java.util.Scanner(System.in);
System.out.println(myScanner.nextLine());
}
}
请更改类的名称:
public class Scanner {
换个名字。编译器无法将Scanner视为java.util.Scanner
,因为它将其视为您的类(该类没有此类构造函数或方法,因此它会向您提供有关它的错误通知)。试试看
java.util.Scanner myScanner = new java.util.Scanner(System.in);
相反。否则,编译器将尝试实例化类,该类也称为
Scanner
。或者将您自己的扫描仪
类重命名为其他类。尝试更改您的类名,例如:
import java.util.Scanner;
public class ScannerTest {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
System.out.println(myScanner.nextLine());
}
}
您应该将类名指定为与Java的API类不同的名称。所以只需将类名从
Scanner
更改为ScannerProgram
import java.util.Scanner;
public class ScannerProgram {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
System.out.println(myScanner.nextLine());
}
}
import java.util.Scanner;
public class ScannerTest {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
System.out.println(myScanner.nextLine());
}
}
import java.util.Scanner;
public class ScannerProgram {
public static void main(String[] args) {
Scanner myScanner = new Scanner(System.in);
System.out.println(myScanner.nextLine());
}
}