编写一个应用程序,判断用户从键盘输入的三位兑奖号码是否中奖.(一等奖:三位号码相同;二等奖:顺子号,例如123,654;三等奖:两个号码相同)java
时间: 2024-10-12 15:08:09 浏览: 37
编写这样一个Java程序,首先需要创建一个Scanner类来获取用户的输入,然后根据提供的规则检查号码。以下是简化的步骤和代码示例:
```java
import java.util.Scanner;
public class LotteryChecker {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个三位数字兑奖号码:");
String userInput = scanner.nextLine(); // 获取用户输入
if (isValidThreeSame(userInput)) { // 判断是否为一等奖(三位号码相同)
System.out.println("恭喜您,您的一等奖中奖了!");
} else if (isConsecutive(userInput)) { // 判断是否为二等奖(顺子号)
System.out.println("您的二等奖已经揭晓,恭喜!");
} else if (isValidTwoSame(userInput)) { // 判断是否为三等奖(两个号码相同)
System.out.println("您的三等奖已经产生,谢谢参与!");
} else {
System.out.println("很遗憾,您未中奖,请继续尝试。");
}
scanner.close();
}
// 检查三个号码是否完全相同
private static boolean isValidThreeSame(String num) {
return num.chars().distinct().count() == 1;
}
// 检查号码是否为连续序列
private static boolean isConsecutive(String num) {
int[] digits = num.toCharArray().mapToInt(Integer::parseInt).toArray();
for (int i = 0; i < digits.length - 1; i++) {
if (digits[i] + 1 != digits[i + 1]) {
return false;
}
}
return true;
}
// 检查两个号码是否相同
private static boolean isValidTwoSame(String num) {
int[] digits = num.toCharArray().mapToInt(Integer::parseInt).toArray();
return digits[0] == digits[1] || digits[1] == digits[2];
}
}
阅读全文