【JAVASE】循环结构 下

简介: 【JAVASE】循环结构

2.2 从键盘输入

使用 Scanner 读取字符串/整数/浮点数


import java.util.Scanner; // 需要导入 util 包
public class Cycle_logitic {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);//输入,sc 由用户自己定义
        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);
        sc.close(); // 注意, 要记得调用关闭方法
    }

🍤 运行结果:


4060948afd6c34641fcd80bcc11a59d6_19025fb311354e2788210964ba5b4ebc.png


使用 Scanner 循环读取 N 个数字,并求取其平均值


 public static void main(String[] args) {
        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 = " + sum / num);//计算均值
        sc.close();
    }

🍤 运行结果:


066e93f9a6ad505376fcfbc6ffbab78c_3f47a2666fb54a13af80e1998fb63d79.png


🎊彩蛋


猜数字游戏

玩法:玩家随便输入1-100以内的整数,计算机会提示你是否猜对,如果没猜对,会告诉玩家是猜大了还是猜小了,然后用户继续猜数,直到成功。


程序设计关键:


  • 如何设置 1-100 以内的随机数
  • 判断随机数与用户输入的值的大小
  • 在猜对前,用户如何循环输入数字
  • 猜对后又如何结束循环


1. 在 Java 中设置随机数需要用到一个包:


import java.util.Random;

如果想要控制在 100 以内,代码实现是:


Random random = new Random(); // 默认随机种子是系统时间
int toGuess = random.nextInt(100);//设置范围:[0-100)+1

2. 用户输入数字:


上文已经总结过,如何输入一个数字。用户输入时也需要一个包:


import java.util.Scanner;
//实现输入数字
Scanner sc = new Scanner(System.in);//这里的 sc 由用户自定义

3. 判断用户输入的数字大小:


这里我们用 if 语句处理:


int num = sc.nextInt();//将输入的数字赋给 num
if (num < toGuess) {
  System.out.println("低了");
} else if (num > toGuess) {
  System.out.println("高了");
} else {
  System.out.println("猜对了");
break;//跳出循环
}

4. 然后我们将代码整合一下:


import java.util.Scanner;
import java.util.Random;
public static void main(String[] args) {
        Random random = new Random(); // 默认随机种子是系统时间
        Scanner sc = new Scanner(System.in);
        int toGuess = random.nextInt(100);
        while (true) {
            System.out.println("请输入要输入的数字: (1-100)");
            int num = sc.nextInt();
            if (num < toGuess) {
                System.out.println("低了");
            } else if (num > toGuess) {
                System.out.println("高了");
            } else {
                System.out.println("猜对了");
                break;
            }
        }
        sc.close();
    }

🍤 运行结果:


99bf3a1ef832814ee9bafd3da63d8381_4b22022089c34f4cbc5d0da8d9901e68.png

这只是简易版的猜数字游戏,你还可以用 switch 语句去设置一个菜单选项控制游戏的开始等等功能,去美化你的游戏


相关文章
|
12月前
|
存储 Linux C语言
Linux C/C++之IO多路复用(aio)
这篇文章介绍了Linux中IO多路复用技术epoll和异步IO技术aio的区别、执行过程、编程模型以及具体的编程实现方式。
505 1
Linux C/C++之IO多路复用(aio)
|
7月前
|
Prometheus Kubernetes 监控
OpenAI故障复盘丨如何保障大规模K8s集群稳定性
OpenAI故障复盘丨如何保障大规模K8s集群稳定性
215 0
OpenAI故障复盘丨如何保障大规模K8s集群稳定性
|
11月前
|
Unix Linux Shell
linux入门!
本文档介绍了Linux系统入门的基础知识,包括操作系统概述、CentOS系统的安装与远程连接、文件操作、目录结构、用户和用户组管理、权限管理、Shell基础、输入输出、压缩打包、文件传输、软件安装、文件查找、进程管理、定时任务和服务管理等内容。重点讲解了常见的命令和操作技巧,帮助初学者快速掌握Linux系统的基本使用方法。
637 3
|
机器学习/深度学习 并行计算 Android开发
Int8量化算子在移动端CPU的性能优化
Int8量化算子在移动端CPU的性能优化
460 0
|
消息中间件 NoSQL 中间件
Linux-中间件安装指南
Linux-中间件安装指南
310 0
获取京东cookie
获取京东cookie
196 0
获取京东cookie
|
设计模式 缓存 Java
【Java|多线程与高并发】线程池详解
Java线程池是一种用于管理和重用线程的机制,它可以在需要执行任务时,从线程池中获取线程,执行任务,然后将线程放回池中,以便后续使用。线程池可以有效地管理线程的数量,提高程序的性能和资源利用率。
【Java|多线程与高并发】线程池详解
|
运维 监控 Kubernetes
读《SRE:Google运维解密》一点思考
## 0、为什么诞生SRE? + 原因一:企业成本的增长通用户的增长不成线性变化。但是随着系统的复杂度提升,组建越来越多,用户的流量压力也越来越大,相关的变更也会越来越多,各模块之间的变更顺序也会越来越复杂。
4765 0
读《SRE:Google运维解密》一点思考
|
存储 并行计算 算法
[Eigen中文文档] 概述(总目录)
Eigen是基于线性代数的C ++模板库,主要用于矩阵,向量,数值求解器和相关算法。常用的Ceres、G2O等项目均是基于Eigen库。 本系列文章将通过官方文档带你了解Eigen。
2466 1
WPF TreeView设置所有节点默认展开
WPF TreeView设置所有节点默认展开