java 输入的几种方式

本文介绍了Java中常用的两种输入方法:Scanner类和BufferedReader类结合InputStreamReader类的使用方式。通过示例展示了如何读取整数、浮点数及字符串,并对比了这两种方法的特点。

这个是我在做浙大acm中第一道题A+B problem的源码

以下两种方法是我们在java输入中较为常用的方法

第一种:scanner类(较为简单)

Scanner sc= new Scanner(System.in); 
		while (sc.hasNextInt()) {
			int a=sc.nextInt();
			int b=sc.nextInt();
			System.out.println(a+b);
		}
当然,如果后面你想输入String 、float类型什么的都是一样的
float f=sc.nextFloat();
		String c=sc.nextLine();
		System.out.println("字符串:"+c+"浮点型:"+f);
第二种:BufferedReader类和InputStreamReader类(略微麻烦)
public static void main(String[] args) {  
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String str = null;
		System.out.println("请输入字符串:");
		try {
			str = br.readLine();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		System.out.println("输入字符串为:"+str);

	}
scanner主要提供了两个方法来扫描输入(以下的函数在上述代码中均有示例,可提供参考):
1、boolean hasNextXxx():是否还有下一个输入项,其中Xxx可以是Int,Long等基本数据类型的字符串。如果需要判断是否包含下一个字符串,可省去Xxx。
2、string nextXxx():获取下一个输入项。
以下两个方法用来读取一行:
1、boolean hasNextLine():是否还有下一行

2、string nextLine():返回下一行的字符串

BufferedReader是javaIO流中的一个字符串、包装类,它必须建立在另一个字符流的基础之上,但system.in是字节流,需用InputStreamReader将其包装成字符流。

两者不同之处在于:

BufferedReader可以逐行读取用户的键盘输入,每次用户的键盘输入都被BufferedReader当成string对象。

Scanner不仅读取用户的键盘输入,还可以读取文件输入。只要在创建Scanner对象时,传入一个File对象作为参数即可。

默认情况下,Scanner使用空白(空格、回车)作为多个输入项之间的分隔符。

与Scanner不同的是,BufferedReader不能读取基本类型输入项,它总是读取string对象。


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值