我尝试使用Console类从user获取输入,但当我调用System.console()
时返回一个空对象。在使用System.console之前,我需要更改什么吗?
Console co=System.console();
System.out.println(co);
try{
String s=co.readLine();
}
发布于 2011-01-10 15:11:04
Scanner in = new Scanner(System.in);
int i = in.nextInt();
String s = in.next();
发布于 2014-08-28 14:12:06
从控制台/键盘读取输入字符串的方法很少。下面的示例代码展示了如何使用Java从控制台/键盘读取字符串。
public class ConsoleReadingDemo {
public static void main(String[] args) {
// ====
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please enter user name : ");
String username = null;
try {
username = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("You entered : " + username);
// ===== In Java 5, Java.util,Scanner is used for this purpose.
Scanner in = new Scanner(System.in);
System.out.print("Please enter user name : ");
username = in.nextLine();
System.out.println("You entered : " + username);
// ====== Java 6
Console console = System.console();
username = console.readLine("Please enter user name : ");
System.out.println("You entered : " + username);
}
}
代码的最后一部分使用了java.io.Console
类。通过Eclipse运行演示代码时,无法从System.console()
获取控制台实例。因为eclipse将应用程序作为后台进程运行,而不是作为具有系统控制台的顶级进程运行。
发布于 2014-03-27 12:40:10
我在这里找到了一些关于从控制台读取的好答案,这里是另一种使用'Scanner‘从控制台读取的方法:
import java.util.Scanner;
String data;
Scanner scanInput = new Scanner(System.in);
data= scanInput.nextLine();
scanInput.close();
System.out.println(data);
https://stackoverflow.com/questions/4644415
复制相似问题