0x00 匿名对象
匿名对象的说明
创建对象的标准格式:
类名称 对象名 = new 类名称();
匿名对象就是只有右边的对象,没有左边的名字和赋值运算符。
格式:
new 类名称();
注意事项:
匿名对象只能使用唯一的一次,下次再用,不得不再创建一个新对象。
使用建议:
如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。
匿名对象作为方法的参数
代码如下:
package day10;
import java.util.Scanner;
public class Demo01 {
public static void main(String[] args) {
// Scanner sc = new Scanner(System.in);
// int num = sc.nextInt();
// System.out.println("键盘输入的是:"+num);
//
/*
使用一般方法写入参数
Scanner sc = new Scanner(System.in);
methodParam(sc);
*/
// 使用匿名对象作为方法的参数
// methodParam(new Scanner(System.in));
//使用匿名对象作为方法的返回值
Scanner sc = methodReturn();
int num = sc.nextInt();
System.out.println("输入的数字是:"+num);
}
public static void methodParam(Scanner sc){
int num = sc.nextInt();
System.out.println("输入的数字是:"+num);
}
public static Scanner methodReturn(){
return new Scanner(System.in);
}
}
0x01 Random类的基本使用
1. 概述
Random类就是生成随即数的类。
2.基本使用
类的使用也是三个步骤:
-
导包。
import java.util.Random; -
创建。
Random rand = new Random(); -
使用。
获取一个随机的int数字(范围是int所有范围,有正负两种):int num = r.nextInt()
3.Random生成指定范围的随机数
获取一个随机的int数字(参数代表了范围,左闭右开区间):int num = r.nextInt(3)
这行代码其实代表了随即数的取值区间为[0,3),也就是0~2。
4.练习1:根据int变量n的值,来获取随机数,范围是[1,n],可以取到1也可以去到n。
package day10;
import java.util.Random;
/*
题目:根据int变量n的值,来获取随机数,范围是[1,n],可以取到1也可以取到n。
*/
public class Demo02 {
public static void main(String[] args) {
int n = 10;
Random r = new Random();
for (int i = 0; i < 11; i++) {
int result = r.nextInt(10) + 1;
System.out.println("随机数是:" + result);
}
}
}
练习2:猜随机数小游戏(限定次数和不限制次数)
package day10;
/*
题目:做一个猜数字小游戏。
*/
import java.util.Random;
import java.util.Scanner;
public class Demo03 {
public static void main(String[] args) {
Random r = new Random();
int result = r.nextInt(100) + 1;
Scanner sc = new Scanner(System.in);
// 不限制次数的猜数字游戏
while (true){
System.out.println("请输入你猜测的数字:");
int num = sc.nextInt();
if (num > result){
System.out.println("太大了,请重试。");
} else if (num < result) {
System.out.println("太小了,请重试。");
} else {
System.out.println("恭喜,猜对了。");
break;
}
}
// 限制次数的猜数字游戏
for (int i = 0; i < 11; i++) {
System.out.println("请输入你猜测的数字:");
int num = sc.nextInt();
if (num > result){
System.out.println("太大了,请重试。你还有" + (10 - i) + "次机会。");
} else if (num < result) {
System.out.println("太小了,请重试。你还有" + (10 - i) + "次机会。");
} else {
System.out.println("恭喜,猜对了。");
break;
}
}
}
}