前言
初学java语言的小白,日常记录个人所学、所思、所感、所获。
请java语言行业的前辈们多多指教, 目前从事汽车制造行业。
属于零基础自学,愿未来自己感谢今天的选择和努力。加油!
一、Random的概述和基本使用
2021、9、28更新
笔记:
1.理解Random类的作用
2.Random类和Scanner类的用法基本一致
/*
Random类用来生成随机数字,使用起来也是三个步骤
1.导包
import java.util.Random;
2.创建
Random ra = new Random();//小括号留空即可
3.使用
int num = ra.nextInt();
获取一个随机的int数字(范围是int范围之内,有正负两种)
*/
import java.util.Random;
public class Demo01Random {
public static void main(String[] args) {
Random ra = new Random();
int num = ra.nextInt();
System.out.println("随机数是:"+num);
}
}
二、Random生成指定范围的随机值
2021、9、28更新
笔记:
1.注意要限制Random类的随机范围,那么.nextInt()要使用含参的方法。
2.Random类是左开右闭区间,与数组的类似。即,nextInt(3)实际上的含义是[0,3),也就是0-2
/*
Random类用来生成随机数字,使用起来也是三个步骤
1.导包
import java.util.Random;
2.创建
Random ra = new Random();//小括号留空即可
3.使用
方法一
int num = ra.nextInt();
获取一个随机的int数字(范围是int范围之内,有正负两种)
方法二
int num = ra.nextInt(3);
获取一个随机的int数字(参数嗲表范围,左闭右开区间)
nextInt(3)实际上的含义是[0,3),也就是0-2
*/
import java.util.Random;
public class Demo02Random {
public static void main(String[] args) {
Random r = new Random();
for (int i = 0; i < 100; i++) {
int num =r.nextInt(9);//使用的是带参数的形式,即方法二
System.out.println("生成的随机数是"+num);//打印出来的结果范围为0-8
}
}
}
三、Random练习一 生成1-n之间的随机数字
2021、9、28更新
笔记:
- r.nextInt(n)本身的范围是0-(n-1),要想把范围调整为1-n,整体+1即可。
-
int num = r.nextInt(n) + 1是整体+1的写法,int num = r.nextInt(n+ 1) 只是将上限+1,下限仍未改变
/*
题目要求;
根据int变量n的值,来获取随机数字,范围是[1,n]
思路:
1.定义一个变量n,随意赋值
2.要使用Random,三个步骤、导包、创建、使用
3.如果写一个数字,那么也就是,可以发现整体+1即可
4.打印随机数字
*/
import java.util.Random;
import java.util.Scanner;
public class Demo03Random {
public static void main(String[] args) {
int n = 5;
Random r = new Random();
for (int i = 0; i < n; i++) {
int num = r.nextInt(n) + 1;//r.nextInt(n)范围是0-(n-1)现整体+1即可
System.out.println("根据您所输入的数字,生成的随机数字为"+num);
}
}
}
四、Random练习二 猜数字的小游戏
2021、9、29更新
笔记:
重点注意:
break;写在哪个判断语句中, while(true)循环就认为哪个判断语句(true)。
while(true)循环是个死循环,必须用break关键字终止循环。
/*
题目要求:
用代码模拟猜数字的小游戏。
思路:
1.首先需要产生一个随机数字,并且一旦产生不再变化。用Randomd的nextInt()方法。
2.需要键盘输入,所以用到了Scanner
3.获取键盘输入的数字,用Scanner的nextInt方法
4.已经得到了两个数字,判断(if)一下。
如果太大了,提示太大,并且重试
如果太小了,提示太小,并且重试
如果猜中,游戏结束
5.重试就是再来一次,循环次数不确定,用while(ture)死循环。
*/
import java.util.Random;
import java.util.Scanner;
public class Demo04RandomGame {
public static void main(String[] args) {
//创建随机类
Random ra = new Random();
int a = ra.nextInt(100) + 1;//[1,100]
//创建键盘输入类 不需要重复
Scanner sc = new Scanner(System.in);
//不限制次数猜测
while (true) {//注意while(ture){}循环的使用方法
System.out.println("请输入你猜测的数字");
int b = sc.nextInt();//这是键盘输入你猜测的数字
if (a > b) {
System.out.println("您输入的数字小于随机数字");
} else if (a < b) {
System.out.println("您输入的数字大于随机数字");
} else {
System.out.println("恭喜你,答对了!!");
System.out.println("随机数字是:" + a);
break;//如果猜中,不再重试,
// break;写在哪个判断语句中, while(true)的理解while就认为哪个判断语句(true)
}
}
//拓展 限制次数(最多10次)猜测,下列代码为正确代码
/*
for (int i = 0; i < 10; i++) {
System.out.println("请输入你猜测的数字");
int b = sc.nextInt();//这是键盘输入你猜测的数字
if (a > b) {
System.out.println("您输入的数字小于随机数字");
} else if (a < b) {
System.out.println("您输入的数字大于随机数字");
} else {
System.out.println("恭喜你,答对了!!");
System.out.println("随机数字是:" + a);
}
}
*/
System.out.println("游戏结束");
}
}
心得体会
2021、9、29更新
笔记:
Random类表示生成随机数,注意最后一个案例多知识学习运用 加油 。 2021、9、29