扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
可以调用
成都创新互联网站建设公司一直秉承“诚信做人,踏实做事”的原则,不欺瞒客户,是我们最起码的底线! 以服务为基础,以质量求生存,以技术求发展,成交一个客户多一个朋友!专注中小微企业官网定制,网站制作、成都做网站,塑造企业网络形象打造互联网企业效应。
1.2构造Scanner类的对象,附属于标准输⼊流System.in,之后通过其中的⽅法获得输⼊。
1.3使⽤close();⽅法关闭对象。
这是Java经典的取输入方式,在JDK1.0中引入。此方法通过将 System.in(标准输入流)包装在 InputStreamReader 中来使用,InputStreamReader 包装在 BufferedReader 中,我们可以在命令行中读取用户的输入
常⽤的⽅法:nextLine();(字符串),nextInt();(整型数),nextDouble();(双精度型数);nextFloat()转换成浮点型;nextBoolean()转换成布尔型。
工具:
eclipse
方法如下:
输入代码如下:
import java.util.Scanner;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("控制台输入字符串开始");
Scanner input =new Scanner(System.in);
String instr = input.nextLine();
System.out.println("控制台输入字符串结束");
}
}
效果图
方法/步骤
首先我们创建一个Test类并编写main方法,在main方法中测试java的控制台输入。我们先介绍java.util.Scanner类,它可以处理控制台输入的不同数据类型的数据,我们通过new Scanner创建一个Scanner对象,控制台等待输入,输入完成后敲回车键即可,读取输入的内容,使用nextLine()方法即可。如下图所示,我们编写一个获取从控制台输入字符串的方法,可以通过循环不停的接收,直到达到设定的次数后跳出循环。
请点击输入图片描述
请点击输入图片描述
其他scan.next()和scan.nextLine()用于获取字符串类型的输入,另外我们还可以用scan.nextBoolean()用于获取布尔型的输入,scan.nextInt()用于获取数值型的输入,scan.nextLong()用于获取long类型的输入,如下图所示。
请点击输入图片描述
请点击输入图片描述
我们还可以单独使用System.in.read()读取一个字符或一个数字,有下图可知,尽管控制台输入的是一个字符串,但是实际上只能读取一个字符。在读取数字时,我们输入的数字是8,但实际上读取的是56,因为此时获取的是Unicode编码,使用try catch捕获编码过程中的异常。
请点击输入图片描述
请点击输入图片描述
接下来我们介绍通过字节流的方式读取控制台的输入,我们需要用到BufferedInputStream,首先创建一个BufferedInputStream对象用于接收控制台的输入,我们创建一个byte数组,长度为1024用于存储接收的字符串,使用read方法读取,最后使用new String(byte[])将byte数组转成字符串进行输出,代码中的异常需要处理,我们使用try catch捕获即可。
请点击输入图片描述
接着我们介绍使用字符流的方式获取控制台的输入,创建一个BufferedReader对象,InputStreamReader是字节到字符的缓存流,我们同样使用System.in来获取控制台的输入,readLine()方法用于读取输入的信息,如下图所示。
请点击输入图片描述
scanner input = new scanner(System.in);是创建scanner这个对象 并且命名为input而int stb = input.nextDouble();是以double数据类型接收控制台输入,所以这个语句有问题,应该改成int stb = input.nextInt(); 而从控制台接收String型时 应该是 String gander = input.next();不需要加其他 如果接收Double的就是 double gander = input.nextDouble();
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流