目录

一: 输出

1.输出到控制台

基本语法:

2.格式化字符串

二:输入

1.从键盘输⼊

2.如何处理多组输⼊?

三:猜数字游戏

1.介绍

2.代码的实现


本文章内容大纲:
本文介绍了Java中的输入输出操作和猜数字游戏实现。输出部分讲解了System.out.print/println/printf三种方法,输入部分演示了使用Scanner类读取不同类型数据的方法,包括字符串、整数和浮点数,并展示了如何处理多组输入。猜数字游戏部分详细说明了如何用Random类生成随机数,通过比较用户输入与随机数实现游戏逻辑,包括"大了"、"小了"和"猜对了"三种提示。文章还提供了相关API文档参考链接,并强调了输入结束快捷键(Windows用ctrl+z,Linux/Mac/IDEA用ctrl+d)和随机数生成范围注意事项。

一: 输出

1.输出到控制台

基本语法:

这里有三种写法,一个是换行的后缀 ln,加了这个就相当于是C语言里面的\n ,它们都是换行的意思,如果不写就是不换行,还有一种写法就是和C语言一模一样的写法,就是使用printf来打印

看代码

   public static void main(String[] args) {
        System.out.print("你好");
        System.out.println("我不好");

        System.out.println("你很帅");
        System.out.println("谢谢");

        int c=10;
        System.out.printf("%d\n",c);
    }

输出:

2.格式化字符串

这里和C语言的格式化打印差不多

如图:

这个表格没必要记住,⽤到的时候根据需要查⼀下就⾏了.

二:输入

1.从键盘输⼊

使⽤Scanner读取字符串/整数/浮点数,使⽤时需要导⼊该类(该过程为导包,后续会讲到)

看代码:

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入你的名字");
        String name = sc.nextLine();
        System.out.println("姓名是:"+name);
    }

输出结果:

还能是其他类型的写法:

Scanner sc = new Scanner(System.in);
System.out.println("请输⼊你的姓名:");
String name = sc.nextLine();
System.out.println("请输⼊你的年龄:");
int age = sc.nextInt();
System.out.println("请输⼊你的⼯资:");
float salary = sc.nextFloat();
System.out.println("你的信息如下:");
System.out.println("姓名: "+name+"\n"+"年龄:+age+"\n"+"⼯资:"+salary);

看图表解析:

2.如何处理多组输⼊?

⽰例:使⽤Scanner循环读取N个数字,并求取其平均值

看代码:

    public static void main(String[] args) {
        //多组输入输出的写法
        //⽰例:使⽤Scanner循环读取N个数字,并求取其平均值
        Scanner sc = new Scanner(System.in);
        int sum = 0;
        int num = 0;
        while (sc.hasNextInt()) {
            int tmp = sc.nextInt();
            sum += tmp;
            num++;
        }
        System.out.println("sum = " + sum);
        System.out.println("avg = " + (float)sum / num);
        sc.close();
    }

输出,这里我们输了20和10这两个数字:

画图解析:


注意事项:

1. 当循环输⼊多个数据的时候,使⽤ctrl+z来结束输⼊(Windows上的CMD中使⽤ctrl+z,Linux/ Mac/IDEA的控制台上使⽤ctrl+d).在后续oj题当中,遇到IO类型的算法题,有各种循环输⼊的要 求,后续给⼤家介绍。

2. Scanner常⻅⽅法参考帮助⼿册:

https://docs.oracle.com/

三:猜数字游戏

1.介绍

游戏规则:

系统⾃动⽣成⼀个随机整数(1-100),然后由⽤⼾输⼊⼀个猜测的数字.如果输⼊的数字⽐该随机数⼩, 提⽰"低了",如果输⼊的数字⽐该随机数⼤,提⽰"⾼了",如果输⼊的数字和随机数相等,则提⽰"猜 对了".

在此之前先给大家介绍一个java里面生成随机的关键字是谁----Random

这里要生成随机数,和C语言有点区别,C语言srand和rand,一个种子库,一个固定种子,srand通修改系统内部里面的种子,进而达到随机的目的

如何在java里面,只有Random,不需要各种调用和修改,在idea里面它会自动处理这些,你只需要调用这个srand就行了
同样的,它和Scanner也需要 util(头文件)----- import java.util.Random;

给大家看一下,java的随机数是怎么生成的

注意一下:

方法生成的范围遵循 “左闭右开” 原则,即 [0, bound)

你的代码写法 实际生成的范围 说明
nextInt(100) 0 ~ 99 默认从0开始,不包含上限
nextInt(100) + 1 1 ~ 100 这是你想要的
nextInt(50) + 50 50 ~ 99 生成50个数,从50开始
    public static void main(String[] args) {
        //猜数字的实现
        Random random = new Random(); //生成随机数
        Scanner sc = new Scanner(System.in); //用户输入
        int toGuess = random.nextInt(100); //生成1-100的随机数
        System.out.println(toGuess);


    }

输出随机数字59:

2.代码的实现

现在我们就正式的写出猜数字的全部代码

   public static void main(String[] args) {
        //猜数字的实现
        Random random = new Random(); //生成随机数
        Scanner sc = new Scanner(System.in);

        int num = random.nextInt(100); //生成1-100的随机数
        System.out.println(num); //显示我们生成的随机数
        while (true){

              int guess= sc.nextInt(); //用户输入
            if(guess>num){
                System.out.println("大了");
            } else if (guess<num) {
                System.out.println("小了");

            }else{
                System.out.println("恭喜你猜对了");
                break;
            }
        }


    }

结果:

注意事项:

1.⽣成随机数常采⽤⼯具类:java.util.Random来⽣成,

2.参考⽂档:https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Random.html

以上就是我们的全部的输入输出的内容了!!!!

更多推荐