代码改变世界

Java获取用户的输入

2012-08-16 21:50  javaspring  阅读(374)  评论(0编辑  收藏  举报

Java获取用户的输入可以使用Scanner和流的方式,在这里我介绍两种方法

1.使用Scanner

import java.util.Scanner;
public class Test {
	public static void main(String[] args) {
		
		Scanner sc=new Scanner(System.in);
		while(sc.hasNext())
		{
			System.out.println("输出:"+sc.next());
		}

	}
}
使用Scanner的方式获取用户的输入的话,Scanner默认使用空格,Tab,回车作为输入项的分隔符。

可以使用sc.useDelimiter()方法来改变这种默认。

sc可以读取特定的数据,比如int,long看下图


从图中可以看到nextBoolean,nextFloat等等。

Scanner提供一个简单的方法一行一行的读取

import java.util.Scanner;
public class Test {
	public static void main(String[] args) {
		
		Scanner sc=new Scanner(System.in);
		
		while(sc.hasNextLine())
		{
			System.out.println("输出:"+sc.nextLine());
		}

	}
}

Scanner不仅可以读取用户键盘的输入,也可以读取文件

import java.io.File;
import java.util.Scanner;

public class Test {
	public static void main(String[] args) throws Exception
	{
		
		Scanner sc=new Scanner(new File("C:\\Users\\zhycheng\\Desktop\\Dota超神\\描述.txt"));
		
		while(sc.hasNextLine())
		{
			System.out.println("输出:"+sc.nextLine());
		}

	}
}

2.使用BufferedReader

需要指出的是Scanner是Java5提供的工具类,在Java5之前使用BufferedReader来读取

import java.io.BufferedReader;
import java.io.InputStreamReader;

public class Test {
	public static void main(String[] args) throws Exception
	{
		
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		String str=null;
		while((str=br.readLine())!=null)
		{
			System.out.println(str);
		}

	}
}