我对Java很新,这可能是一个非常愚蠢的问题。我试图从用户那里获得一个简单的输入,为此我得到Scanner
类或BufferedReader
。然而,当我尝试导入java.io.*
时,这些类显示为undefined。
这是我的代码:
package testing;
import java.io.*;
import java.util.Scanner;
public class Something {
public static void logln(String content) {
System.out.println(content);
}
public static void main(String [] args) {
}
void getInput(String prompt) {
Scanner s = new Scanner();
}
}
Scanner s
显示未定义。为什么会这样?
答案 0 :(得分:2)
这是你的问题:
Scanner s = new Scanner(); // no constructor exists
您需要将参数传递给Scanner构造函数,因为此类没有默认的无参数构造函数。您将需要批判性地阅读错误消息,因为它通常会告诉您确切的错误,这里"The constructor Scanner() is undefined"
。
答案 1 :(得分:0)
Hovercraft Full Of Eels,指出了正确的错误。 我想补充几点 -
是正确的构造函数Scanner s = new Scanner(System.in);
另外,我不太明白为什么你的getter方法,getInput()是参数化的。你想详细说明吗?
答案 2 :(得分:0)
您的问题与java导入无关。
如果你想从inputStream中获取通常连接到键盘输入的输入,请将构造函数更改为
Scanner sc = new Scanner(System.in);
使用
读取输入的输入String content = sc.nextLine();