新增一个Scanner对象 和使用 BufferedReader 类别取得输入

import java.util.Scanner;
public class ScannerInput {
    public static void main(String[] args){
        Scanner scanner = new Scanner(System.in);
        System.out.print("Please input your name:");
        System.out.printf("Hello, %s.\n", scanner.next());
        System.out.print("Please input a number:");
        System.out.printf("%d\n", scanner.nextInt());
    }
}

new“表示新增一个Scanner对象,在新增一个 Scanner对象时需要一个System.in对象,因为实际上还是System.in在取得使用者的输入,您可以将Scanner看作是 System.in对象的支持者,System.in取得使用者输入之后,交给Scanner作一些处理(实际上,这是 Decorator 模式 的一个应用)。

简单的说,您告诉执行环境新增一个Scanner对象,然后使用它的next()方法来取得使用者的输入字符串,使用 Scanner对象的nextInt()方法取得数字。同样的,您还可以使用Scanner的nextFloat()、nextBoolean()等方法来取得使用者的输入,并转换为正确的 数据型态。

要注意的是,Scanner取得输入的依据是空格符,举凡按下空格键、tab键或是enter键,Scanner就会传回下一个输入,如果您想要取得包 括空格符的输入,比较简单的方法是 使用 BufferedReader 类别取得输入

使用 BufferedReader 类别取得输入

(1)、BufferedReader类别,它是java.io套件中所提供的一个类别,所以使用这个类别时必须先import java.io套件;

(2)、使用BufferedReader对象的readLine()方法必须处理IOException例外(exception),例外处理机制是Java提 供给程序设计人员捕捉程序中可能发生的错误所提供的机制,现阶段您处理IOException的方法是在main()方法后,加上 throws IOException,这在以后会再详细讨论为何要这么作。
BufferedReader在建构时接受一个Reader对象,在读取标准输入串流时,会使用InputStreamReader,它 继承了Reader类别,您使用以下的方法来为标准输入串流建立缓冲区对象:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值