zoukankan      html  css  js  c++  java
  • 由键盘输入数据(Scanner类、BufferedReader类、Random类)

    1、引用数据类型Scanner(Scanner类)

    import java.util.*;
    public class Input {
    
        public static void main(String[] args) {
             Scanner reader=new Scanner(System.in);
             System.out.println("请输入一个正整数.");
             int i=reader.nextInt();
             System.out.println(i);
             System.out.println("请输入一段字符串.");
             String s=reader.next();
             System.out.println(s);
             }
    }

    创建Scanner类的一个对象,然后调用类中的方法读取输入的数据。

    2、BufferedReader类

    (1)构造方法:

     (2)普通方法:

    import java.io.*;
    public class Input {
    
        public static void main(String[] args) throws IOException
        {
            String str;
            BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
            System.out.println("请输入一个正整数");
            str=buf.readLine();
            int i=Integer.parseInt(str);
            System.out.println("输入的数字为"+i);
        }
    }

     程序读入的数据是字符串,需要调用相应的方法进行数据类型转换

    public class Test {
        public void str() throws IOException {
            BufferedReader buf=new BufferedReader(new InputStreamReader(System.in));
            int i=buf.read();
            System.out.println(i);
        }
        public static void main(String [] args) throws IOException {
            Test test=new Test();
            test.str();
        }
    }

    该方法读入的是一个字符,但是返回值却是一个int型的数字,其实这反映的的ASCII表,输入的是字符,返回的是字符对应的十进制。

    3、练习——猜数字游戏

    (1)完整代码

    import java.util.Random;
    import java.util.Scanner;
    public class GuestNumber {
        public static void main(String[] args) {
            System.out.println("猜数字开始了");
            System.out.println("输入1-100之间数据");
            //创建Random类变量
            Random ran = new Random();
            //变量.使用功能nextInt()获取1-100随机数
            int ranNumber = ran.nextInt(100) + 1;//创建Scanner类变量
            Scanner sc = new Scanner(System.in);
            while (true) {
                //获取键盘输入
                int number = sc.nextInt();
                //随机数和,用户输入的数据,比较
                if (number > ranNumber) {
                    System.out.println("猜大了");
                } else if (number < ranNumber) {
                    System.out.println("猜小了");
                } else {
                    System.out.println("中了");
                    break;
                }
            }
        }
    }

    (2)测试结果:

    (3)此练习用到了Random类和Scanner类,在进入死循环之前已经利用Random类创建的对象调用相应的方法产生了随机数,然后,在死循环中一直需要输入数字,直到和随机数字的值相等跳出循环。

  • 相关阅读:
    Thymeleaf踩坑:[[ 和 ]] 被当做表达式解析,但是想要的就是数组,怎么办?
    RoamEdit 邀请码
    python:新版xlrd报 Excel xlsx file; not supported
    JavaFX学习:快捷键
    JavaFX学习:键盘事件
    JavaFX学习:连续点击事件
    JavaFX学习:Button基本使用
    (转)IDEA 更新插件时报错 SSL error probably caused by disabled SNI
    TextControl技术互助
    一个简单的Webservice的demo(中)_前端页面调用
  • 原文地址:https://www.cnblogs.com/zhai1997/p/11257872.html
Copyright © 2011-2022 走看看