前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Java探索之旅】从输入输出到猜数字游戏

【Java探索之旅】从输入输出到猜数字游戏

作者头像
屿小夏
发布2024-04-18 08:46:37
1260
发布2024-04-18 08:46:37
举报
文章被收录于专栏:IT杂谈学习
个人头像
个人头像
文章目录
  • 📑前言
  • 一、输入输出
    • 1.1 输出到控制台
    • 1.2 从键盘输入
  • 二、猜数字游戏
    • 2.1 所需知识:
    • 2.2 游戏规则:
    • 2.3 完整代码
    • 2.4 代码解析
  • 🌤️全篇总结

📑前言

本文将介绍如何在Java中进行控制台的输入输出操作,并通过一个简单的猜数字游戏示例来展示分支语句、循环语句的运用。让我们一起来探索这些有趣的编程技巧吧!

一、输入输出

1.1 输出到控制台

基本语法

代码语言:javascript
复制
System.out.println(msg); // 输出一个字符串, 带换行
System.out.print(msg); // 输出一个字符串, 不带换行
System.out.printf(format, msg); // 格式化输出
  • println 输出的内容自带 \n, print 不带 \n
  • printf 的格式化输出方式和 C 语言的 printf 是基本一致的

代码示例

代码语言:javascript
复制
System.out.println("how are you");
int a = 88;
System.out.printf("%d",a);

格式化字符串

转换符

类型

举例

d

十进制整数

(“%d”, 100)

100

x

十六进制整数

(“%x”, 100)

64

o

八进制整数

(“%o”, 100)

144

f

定点浮点数

(“%f”, 100f)

100.000000

e

指数浮点数

(“%e”, 100f)

1.000000e+02

g

通用浮点数

(“%g”, 100f)

100.000

a

十六进制浮点数

(“%a”, 100)

0x1.9p6

s

字符串

(“%s”, 100)

100

c

字符

(“%c”, ‘1’)

1

b

布尔值

(“%b”, 100)

true

h

散列码

(“%h”, 100)

64

%

百分号

(“%.2f%%”, 2/7f)

0.29%

这里罗列的表格没必要背下来,用到的时候根据需要查一下,多敲几遍基本忘不了 。

1.2 从键盘输入

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

代码语言:javascript
复制
import java.util.Scanner; // 需要导入 util 包
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);
sc.close(); // 注意, 要记得调用关闭方法
// 执行结果
请输入你的姓名:
张三
请输入你的年龄:
18
请输入你的工资:
1000
你的信息如下:
姓名: 张三
年龄:18
工资:1000.0

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

代码语言:javascript
复制
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();
// 执行结果
10
40.0
50.5
^Z
sum = 150.5
avg = 30.1

注意事项

  • 当循环输入多个数据的时候, 使用 ctrl + z 来结束输入
  • Windows 上使用 ctrl + z, Linux / Mac 上使用 ctrl+ d

二、猜数字游戏

2.1 所需知识:

分支语句,循环语句,输入输出

2.2 游戏规则:

系统自动生成一个随机整数(1-100), 然后由用户输入一个猜测的数字. 如果输入的数字比该随机数小, 提示 “低了”, 如果输入的数字比该随机数大, 提示 “高了” , 如果输入的数字和随机数相等, 则提示 “猜对了”

2.3 完整代码

代码语言:javascript
复制
import java.util.Random;
import java.util.Scanner;;
class Test {
	public static void main(String[] args) {
        Random random = new Random(); // 默认随机种子是系统时间
        Scanner sc = new Scanner(System.in);
        
        int toGuess = random.nextInt(100);
        
        // System.out.println("toGuess: " + toGuess);
        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();
    }
}

2.4 代码解析

  1. 导入必要的库
    • Random:用于生成随机数。
    • Scanner:用于从控制台读取用户输入。
  2. 定义Test
    • 包含了main方法,这是Java程序的入口点。
  3. 初始化
    • 创建一个Random对象,用于生成随机数。默认情况下,它的种子是系统时间。
    • 创建一个Scanner对象,用于从控制台读取用户输入。
  4. 生成要猜测的数字
    • 使用random.nextInt(100)生成一个0到99(包含0,不包含100)之间的随机整数。
  5. 游戏循环
    • 无限循环(while(true))直到用户猜对数字。
    • 提示用户输入一个数字(1-100)。
    • 读取用户输入的数字。
    • 判断用户输入的数字与要猜测的数字之间的关系:
      • 如果用户输入的数字小于要猜测的数字,输出“低了”。
      • 如果用户输入的数字大于要猜测的数字,输出“高了”。
      • 如果用户输入的数字等于要猜测的数字,输出“猜对了”并退出循环。
  6. 关闭Scanner
    • 在游戏结束后,关闭Scanner对象,释放与之关联的资源。

🌤️全篇总结

看到这里,你学已经会了如何在Java中进行简单的输入输出操作,包括输出到控制台和从键盘输入。同时,通过一个有趣的猜数字游戏示例,你也了解了如何运用分支语句和循环语句来实现一个小游戏。希望这些基础知识能够帮助你更好地理解Java编程,并为你未来的学习之路打下坚实的基础。继续努力,编程之路将会越发精彩!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 📑前言
  • 一、输入输出
    • 1.1 输出到控制台
      • 1.2 从键盘输入
      • 二、猜数字游戏
        • 2.1 所需知识:
          • 2.2 游戏规则:
            • 2.3 完整代码
              • 2.4 代码解析
              • 🌤️全篇总结
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档