Java控制台输入的几种方法

Java控制台输入的三种实现方法:使用标准输入对象System.in,使用Scanner和使用字符流从控制台输入.下面将为大家一一介绍:

一.使用标准输入对象

众所周知,System.in是控制台程序的典型的接受键盘输入的流,通过调用System.in.read()我们可以从键盘输入字符,read()方法是等待用户按键,然后返回字符的Unicode码,注意返回的是一个整数,要是想输出对应的字符,必须将其强制转换成char类型,代码如下:

package FirstDemo;
import java.io.IOException;

public class testone {

	public static void main(String[] args) {
		try {
			
			int a=System.in.read();
			System.out.println((char)a);
		}
		catch(IOException io) {
			System.out.println("Error: "+io);
		}
	}
	
}

此外,在使用System.in.read()时有一些注意的地方:
1.必须抛出IOException异常;
2.使用System.in.read()一次只能输入一个字符;
3.由于System.in是行缓存,当按下Enter键时,一个回出换行序列会进入输入流,因此当连续使用两个System.in.read()时需要注意后一个会直接读入回车;

二.使用Scanner

java.util.Scanner是Java5的新特性,通过Scanner类我们可以获取用户输入,下面直接用代码来展示它的使用方法:

package FirstDemo;
import java.util.Scanner;

public class testone {

	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		
		//next()方法读到空格则停止
		//String accept=in.next();
		//System.out.println(accept);
		
		//nextLine读到回车停止
		String accept_1=in.nextLine();
		System.out.println(accept_1);
	}
	
}

三.使用字符流从控制台输入

Java字符流从控制台输入比较方便,要实现字符流控制台输入我们可以采用如下方法:
a.通过如下代码获得通过System.in与控制台相连的字符流:

BufferedReader br=new BufferedReader(new InputStreamReader(System.in))

b.使用BufferReader定义的read()方法或readLine()方法即可实现控制台输入;
示例代码如下:

package FirstDemo;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class testone {

	public static void main(String[] args) {
		BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
		try {
			
			//int c=br.read();
			//System.out.println((char)c);
			
			String accept=br.readLine();
			System.out.println(accept);
		}catch(IOException io) {
			System.out.println("Error: "+ io);
		}
	}
	
}

需要注意的是使用read()或readLine()方法时需要抛出IOException
注:若有不对的地方请大家指正!!!

发布了16 篇原创文章 · 获赞 18 · 访问量 4134

猜你喜欢

转载自blog.csdn.net/qq_42103091/article/details/100671631
今日推荐