题目如下:
```java
package ch3choose.exer15;/*
* 孤鸿
* 彩票
* 2023/5/13
*/
import java.util.Scanner;
public class Exer15 {
public static void main(String[] args) {
int count = 0;
Scanner input=new Scanner(System.in);
//随机数公式
int answer=100+(int)(Math.random()*((999-100)+1));
System.out.println(answer);
System.out.println("请输入你的号码");
int num= input.nextInt();
String s=Integer.toString(answer);
System.out.println(answer);
while (true){ //
if(Integer.toString(num).length()==3){
break;
}
else{
num= input.nextInt();
}
}
if(num==answer){ //如果两个数字相等 直接输出中奖信息
System.out.println("奖金10000美元");
}else {
char[] arr = s.toCharArray(); //将中奖号码转换为字符数组
char[]arr1=Integer.toString(num).toCharArray(); //将你输入的号码转换为字符数组。
int j=0;
for (j = 0; j<arr1.length; j++) { //对两个数组进行比较
for (int i = 0; i < arr.length; i++) {
if ((arr1[j])== arr[i]) {
count++; //记录匹配上的字符的个数
break;
}
}
}
if(count==3){
System.out.println("你猜中了"+count+"个数字,奖金3000美元");
}else if(count>=1){
System.out.println("你猜中了"+count+"个数字,奖金1000美元");
}
else{
System.out.println("你猜中了"+count+"个数字,没有中奖");
}
}
}
}
```
该回答引用chatgpt:
自信点,写的很棒,我用ai生成感觉还没你写的优秀
import java.util.Random;
import java.util.Scanner;
public class LotteryGame {
public static void main(String[] args) {
// 产生三位整数的彩票
Random random = new Random();
int lottery = random.nextInt(900) + 100; // 生成 [100, 999] 之间的整数
// 读取用户输入的数字
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个三位整数:");
int guess = scanner.nextInt();
System.out.println("彩票号码为:" + lottery);
// 判断用户是否中奖
int lotteryDigit1 = lottery / 100;
int lotteryDigit2 = lottery / 10 % 10;
int lotteryDigit3 = lottery % 10;
int guessDigit1 = guess / 100;
int guessDigit2 = guess / 10 % 10;
int guessDigit3 = guess % 10;
if (guess == lottery) {
System.out.println("恭喜你中了一等奖,奖金为 10,000 美元!");
} else if (guessDigit1 == lotteryDigit1 && guessDigit2 == lotteryDigit2 && guessDigit3 == lotteryDigit3) {
System.out.println("恭喜你中了二等奖,奖金为 3,000 美元!");
} else if (guessDigit1 == lotteryDigit1 || guessDigit1 == lotteryDigit2 || guessDigit1 == lotteryDigit3
|| guessDigit2 == lotteryDigit1 || guessDigit2 == lotteryDigit2 || guessDigit2 == lotteryDigit3
|| guessDigit3 == lotteryDigit1 || guessDigit3 == lotteryDigit2 || guessDigit3 == lotteryDigit3) {
System.out.println("恭喜你中了三等奖,奖金为 1,000 美元!");
} else {
System.out.println("很遗憾,你没有中奖。");
}
}
}
ai优化了你的代码
import java.util.Random;
import java.util.Scanner;
public class LotteryGame {
public static void main(String[] args) {
Random random = new Random();
int lottery = random.nextInt(900) + 100; // 生成 [100, 999] 之间的整数
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个三位整数:");
int guess = scanner.nextInt();
System.out.println("彩票号码为:" + lottery);
if (guess == lottery) {
System.out.println("恭喜你中了一等奖,奖金为 10,000 美元!");
} else {
int count = 0;
String lotteryStr = String.valueOf(lottery);
String guessStr = String.valueOf(guess);
for (int i = 0; i < guessStr.length(); i++) {
if (lotteryStr.contains(String.valueOf(guessStr.charAt(i)))) {
count++;
}
}
if (count == 3) {
System.out.println("你猜中了" + count + "个数字,奖金为 3,000 美元!");
} else if (count >= 1) {
System.out.println("你猜中了" + count + "个数字,奖金为 1,000 美元!");
} else {
System.out.println("你猜中了" + count + "个数字,没有中奖。");
}
}
}
}