Java的三种输入方法
1. Scanner类 一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。
- 位于java.util包
- 常用方法:
- next() 查找并返回来自此扫描器的下一个完整标记
- nextInt() 将输入信息的下一个标记扫描为一个 int。
import java.util.Scanner;
public class Exemple01 {
public static void main(String[] args) {
Scanner io = new Scanner(System.in);
String sta = io.next();
String sta1 = io.next();
int i = io.nextInt(2);//参数为基数
io.close(); //关闭扫描器
System.out.println(sta);
System.out.println(sta1);
System.out.println(i);
}
}
2. BufferedReader(字符输入流)+InputStreamReader(转换流)
public class Exemple {
public static void main(String[] args) throws IOException{
BufferedReader re = new BufferedReader(new InputStreamReader(System.in));
String str = re.readLine();
String str1 = re.readLine();
re.close();
System.out.println("输出:"+ str);
System.out.println("输出:"+ str1);
}
}
3. Console
import java.io.Console
public class Property {
public static void main(String[] args) {
Console console = System.console();
if ((console!=null)) {
String userName = console.readLine("User Name:");
char[] passwd = console.readPassword("Password:");
System.out.println(userName);
for (char c : passwd) {
System.out.print(c);
}
}
}
}
- 常用方法
- readLine() 从控制台读取一行
- readPassword() 从控制台读取密码
** 三者的区别**
Scanner 的输入是可视化的,而Console输入可以是隐藏的且Console必须是控制台输入(Eclipose,IDE重定向的不可以),BufferedReader 只能是输入字符类型对于其他类型必须要转换
如果输入大量的字符数据就用 IO包
需要基本数据类型或者少量字符数据用 Scanner
需要隐藏输入内容的用 Console
网友评论