4.7 在Java中,如何获取用户的输入?| Java Debug 笔记

本文正在参加「Java主题月 – Java Debug笔记活动」,详情查看<活动链接>

提问:在Java中,如何获取用户的输入?

我尝试创建一个计算器,但由于不知道如何获得用户输入而无法使它正常工作。
在Java中,如何获取用户的输入?

回答1:

您可以根据要求使用以下任何选项。

1, Scanner类

import java.util.Scanner; 
//...
Scanner scan = new Scanner(System.in);
String s = scan.next();
int i = scan.nextInt();
复制代码

2,BufferedReader和InputStreamReader 类

import java.io.BufferedReader;
import java.io.InputStreamReader;
//...
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = br.readLine();
int i = Integer.parseInt(s);
复制代码

3,DataInputStream 类

import java.io.DataInputStream;
//...
DataInputStream dis = new DataInputStream(System.in);
int i = dis.readInt();
复制代码

特别需要注意的是:类中的readLine方法DataInputStream已被弃用。要获取String值,应将先前的解决方案与BufferedReader一起使用

4,Console 类

import java.io.Console;
//...
Console console = System.console();
String s = console.readLine();
int i = Integer.parseInt(console.readLine());
复制代码

在某些IDE中,上面的方法效果不佳

最广泛使用的方法是Scanner,我个人更喜欢这种方法,因为它简单易行,并且具有将文本解析为原始数据的强大功能。

使用Scanner的优点:

1,Scanner类易于使用

2, 易于处理各种类型的数字型数据(int, short, byte, float, long 和 double)

3,在程序中忽略检查异常无疑是更方便的。程序员要规范起来,通过指定且捕获异常的方式让自己的程序更优雅。

4, 能够读取行,空格和正则表达式分隔的标记

所以,如果您输入大量数字,Scanner则会进行自动解析,这非常方便

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享