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("游戏结束");
}
}