JAVA —— Random类习题

本文展示了两个Java编程实例:一是利用Random类生成[1,n]范围内的随机数;二是实现了一个猜数字游戏,用户在0到100之间进行猜测,系统给出大小提示,最多允许猜6次。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Random类用来生成随机数字
习题一:根据int变量n的值来获取随机数字,范围是[1,n],可以取一也可以取n。

package demo02;

import java.util.Random;
import java.util.Scanner;

public class demo02 {
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();       //键盘输入就是n
            Random r = new Random(n);       //此时的范围是[0,n)
            for(int i =0;i<100;i++){
                int num = r.nextInt(n) + 1;     //整体加1变成[1,n+1)
                System.out.println(num);        //因为Random的nextInt(n)是左闭右开区间,所以要在n+1,才可实现题目的要求
            }
        }
    }

运行结果的片段:
在这里插入图片描述
习题二:猜数字游戏:生产一个随机数字,用键盘输入猜测数字,如果大于产生的随机数字,则提示大了;如果小于产生的随机数字,则提示消了;直到最后猜出数字;随机数字在0到100之间,包含0和100.(当然你也可以对猜测的次数做出限制)

package demo02;

import java.util.Random;
import java.util.Scanner;

public class demo02 {
        public static void main(String[] args) {
        Random r = new Random();
        int num = r.nextInt(100) + 1;       //设置生产数范围为[1,100]
        System.out.println("请开始猜测:");
        for(int i=0;i<6;i++) {          //设置可猜测次数
            Scanner in = new Scanner(System.in);
            int input = in.nextInt();
            if (input > num) {
                System.out.println("猜测数字大了,请重新输入:");
                continue;
            }
            if( input <num ) {
                System.out.println("猜测数字小了,请重新输入:");
                continue;
            }
            if(input == num){ break; }
        }
        System.out.println("正确的数字是:" + num);        //最后显示生产数字
  }
}

运行结果为:
在这里插入图片描述

### 推荐的Java初学者编程练习题目 对于刚开始学习Java的人来说,选择合适的练习题非常重要。这些练习可以帮助巩固基础知识并提高解决问题的能力。 #### 练习一:基本数据型操作 编写一段程序来接收用户的年龄作为输入,并打印一条消息指出该用户是否成年(假设法定成人年龄为18岁)。这有助于理解如何处理用户输入以及条件语句的应用[^2]。 ```java import java.util.Scanner; public class AdultCheck { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Enter your age:"); int age = scanner.nextInt(); if (age >= 18) { System.out.println("You are an adult."); } else { System.out.println("You are not yet an adult."); } } } ``` #### 练习二:循环结构应用 创建一个简单的猜数字游戏,在这个游戏中计算机随机生成一个小于等于100的整数,玩家通过键盘输入猜测值直到找到正确的答案为止。此练习可以加深对`for`, `while` 或者 `do-while` 循环的理解[^4]。 ```java import java.util.Random; import java.util.Scanner; public class GuessNumberGame { public static void main(String[] args) { Random randomGenerator = new Random(); int secretNumber = randomGenerator.nextInt(100) + 1; boolean hasWon = false; Scanner scanner = new Scanner(System.in); do { System.out.print("Guess the number between 1 and 100: "); int guess = scanner.nextInt(); if (guess < secretNumber) { System.out.println("Too low!"); } else if (guess > secretNumber) { System.out.println("Too high!"); } else { hasWon = true; } } while (!hasWon); System.out.println("Congratulations! You've guessed it right."); } } ``` #### 练习三:数组与方法定义 设计一个函数接受两个参数——一个是字符串列表,另一个是要查找的目标字符串;返回目标字符串在这个列表中的位置索引。如果找不到,则返回 `-1` 。这项任务能够帮助掌握数组的概念和自定义方法的实现[^1]。 ```java public class StringFinder { /** * Finds index of target string within given array. * * @param strings Array containing strings to search through. * @param target Target string we want to find its position. * @return Index of first occurrence of target or -1 if not found. */ public static int findStringIndex(String[] strings, String target) { for (int i = 0; i < strings.length; ++i) { if (strings[i].equals(target)) { return i; } } return -1; } public static void main(String[] args) { String[] fruits = {"apple", "banana", "orange"}; System.out.println(findStringIndex(fruits, "banana")); // Output should be 1 } } ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

走丢的男孩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值