• 实现用户输入


    java中大多是通过定义输入/输出流对象来实现数据的输入输出的。但同时也需要通过键盘获得用户的输入。java提供java.util.Scanner类,可以直接接受控制台命令行的输入。

    使用System.in获得用户输入

    java提供了System.in、System.out、System.err类。System.out是一个已经预先处理过的,被包装成PrintStream的对象。和System.out一样,System.err也是一个PrintStream.但是System.in就不是了,他是一个未经处理的InputStream。下面例子使用System.in获取用户键盘上的输入。代码如下:

    import java.io.*;
    
    public class ReadKeyBroadDemo {
    public static void main(String args[])throwsIOException{
        int a;
        System.out.print("请输入一个字符");
        a=(char)System.in.read(); //获取键盘中输入并存入变量a中
                System.out.print("你输入的字符是:"+a);
        
    }
    
    }

    read()方法被定义为抽像方法,主要是为了继承InputStream类的子类可以针对不同的外部设备定义不同的read()方法,另外,java规定read()必须配合异常处理机制来使用。

    使用Scanner类获得用户输入

    java.util.Scanner类是JDK新增的一个类,可使用该类创建一个从命令行读取数据的对象,而不必再进行流的转换。Scanner类使用如下:

    Scanner reader=new Scanner(System.in)

    然后reader对象调用下列方法,读取用户在命令行输入的各种数据类型:next.Byte()、nextDouble()、nextFlaot();nextInt();nextLine();nextLong();nextShort().这些方法在执行时都要等待用户在命令行输入数据按回车键确认。写一个程序,使用Scanner类获取用户输入,并计算输入值的和。代码如下:

    import java.util.*;
    public class ReadKeybroadDemo2 {
        public static void main(String []args){
            System.out.println("请输入若干个数,每输入一个数按回车键确定");
            System.out.println("最后输入一个非数字结束输入操作");
            //创建读取命令行内容的Scanner对象
            Scanner reader=new Scanner(System.in);
            Double sum=(double) 0;
            int m=0;
            while(reader.hasNextDouble()){           //如果持续读入数据
             double x=reader.nextDouble();
             m=m+1;
             sum=sum+x;
            }
            System.out.println(m+"个数的和为:"+sum);
            System.out.println(m+"个数的平均值为:"+sum/m);
            }
    
    }

    在这个程序中,创建一个Scanner类的对象reader,用来读取命令行的输入内容。通过reader对象的hasNextDouble()方法,来判断是否还有后续的double类型的输入内容。如果有,通过nextDouble()方法,将读入的字符串转换成小数,并累加到变量sum上。程序最后输出sum的值和平均值。

  • 相关阅读:
    页面调用百度地图但是使用了https证书之后不显示
    JAVA查询类别(菜单)下的所有子类别(递归)
    summernote富文本的简单使用
    thymeleaf标签在js中调用转义变量与不转义变量写法
    SpringBoot使用@Async实现异步调用
    JAVA使用多线程进行数据处理
    MapReduce-TextInputFormat 切片机制
    BootstrapTable 导出数据
    BootstrapTable 加载数据
    CDN 常用静态资源公共库
  • 原文地址:https://www.cnblogs.com/Angella/p/6081111.html
Copyright © 2020-2023  润新知