33天!
匿名对象
package Demo1701;
public class Person {
String name;
public void showName() {
System.out.println("我的名字是" + name);
}
}
package Demo1701;
/* 创建对象的标准格式: 类名称 对象名 = new 类名称(); 匿名对象就是只有右边的对象,没有左边的名字和赋值运算符 new 类名称(); 注意事项:匿名对象只能使用唯一的一次,下次再用不得不再创建一个新对象 使用建议:如果确定有一个对象只需要使用唯一的一次,就可以用匿名对象。 * */
public class Demo01Anonymous {
public static void main(String[] args) {
//左边的one就是对象的名字
Person one = new Person();
one.name = "hh";
one.showName();
System.out.println("=====匿名类的使用===");
//匿名对象
new Person().name = "xx";
new Person().showName();//null
}
}
匿名对象作为方法的参数和返回值
package Demo1701;
import java.util.Scanner;
public class Demo02Anonymous {
public static void main(String[] args) {
//普通使用方式
//Scanner scanner = new Scanner(System.in);
//int num = scanner.nextInt();
//匿名对象的方式
//int num = new Scanner(System.in).nextInt();
//System.out.println(num);
//使用一般写法传入参数
//Scanner scanner = new Scanner(System.in);
//methodParam(scanner);
//使用匿名对象来进行传参
//methodParam(new Scanner(System.in));
int num = methodReturn().nextInt();
System.out.println(num);
}
//匿名对象作为方法的参数
public static void methodParam(Scanner scanner){
int num = scanner.nextInt();
System.out.println("输入的是:" + num);
}
//匿名对象作为方法的返回值
public static Scanner methodReturn(){
System.out.println("匿名对象作为方法的返回值:");
//Scanner scanner = new Scanner(System.in);
//return scanner;
return new Scanner(System.in);
}
}
Random基本使用
package Demo1702;
/* * Random是产生一个随机的数 * * 使用过程: * 1.导包 * import java.util.Random * * 2.创建 * Random r = new Random();//小括号当中留空即可 * * 3.使用 * 获取一个随机的int数字(范围是int所有范围,有正负两种):int num = r.nextInt(); * 获取一个随机的int数字(参数代表了范围,左闭右开区间):int num = r.nextInt(3) * 实际上代表的含义是[0,3),0,1,2 * */
import java.util.Random;
public class Demo01Random {
public static void main(String[] args) {
Random r = new Random();
int num1 = r.nextInt();
System.out.println(num1);
for (int i = 0; i < 100; i++) {
int num2 = r.nextInt(10);
System.out.println(num2);
}
//int num2 = r.nextInt(10);
//System.out.println(num2);
}
}
生成1-n之间的随机数,要求1,n都可以取到
package Demo1702;
import java.util.Random;
import java.util.Scanner;
/* * 题目要求: * 根据int变量n的值,来获取随机数字,范围为[1,n] * * 思路: * 1.定义一个int变量n,随意赋值 * 2.要使用Random三个步骤,导包、创建、使用 * 3.如果写10,那么就是0-9,然鹅想要1-10,可以发现,整体+1即可。[0,10)--[1,11) [1,10] * 4。打印随机数字 * */
public class Demo03Random {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
Random random = new Random();
for (int i = 0; i < 10; i++) {
int num = random.nextInt(n);
System.out.println(num + 1);
}
}
}
猜数字游戏(这时猜测次数不限)
package Demo1702;
import java.util.Random;
import java.util.Scanner;
/* * 思路: * 1.首先需要产生一个随机数字,并且一旦产生不再发生变化。用Random的nextInt()方法 * 2.需要键盘输入,所以用到了Scanner * 3.获取键盘输入的数字,用Scanner中的nextInt方法 * 4。如果得到了两个数字,判断(if)一下: * 如果太大了,提示太大,并且重试; * 如果太小,提示太小,并且重试; * 如果猜中了,游戏结束 * 5.重试就是再来一次,循环次数不确定,用while(true),break * */
public class Demo04RandomGame {
public static void main(String[] args) {
//1.产生一个随机数
Random random = new Random();
int randomNum = random.nextInt(10) + 1;//【1,10】
Scanner scanner = new Scanner(System.in);
while (true) {
System.out.println("请输入你猜测的数字:");
int guessNum = scanner.nextInt();
if (guessNum == randomNum) {
System.out.println("你猜对了");
break;
} else if (guessNum > randomNum) {
System.out.println("你猜的数字太大了,请重试");
} else {
System.out.println("你猜的数字太小了,请重试");
}
}
System.out.println("正确数字为:" + randomNum);
}
}
猜数字增强版游戏(这时猜测次数有限制)
package Demo1702;
/* * 猜数字升级版,只有五次机会,这种确定次数的用for,不用while * */
import java.util.Random;
import java.util.Scanner;
public class Demo05RandomPlus {
public static void main(String[] args) {
Random random = new Random();
int randomNum = random.nextInt(50) + 1;
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < 5; i++) {
System.out.println("请输入你要猜测的数字:");
int guessNum = scanner.nextInt();
if (guessNum > randomNum){
System.out.println("你的数字大了,请重试");
}else if(guessNum < randomNum) {
System.out.println("你的数字小了,请重试");
}else {
System.out.println("恭喜你答对了");
break;
}
if (i == 4){
System.out.println("游戏次数已用完");
}
}
System.out.println("游戏结束");
}
}