Java流程控制if-else结构的一道小综合题
Java流程控制if-else结构的一道小综合题
B站尚硅谷的JavaSE 0基础教程P100的一道题,感觉挺有意思的,做个对比
题目
我写的(额。。稍微改了点什么)
import java.util.Scanner;
public class App {
/*这是一个彩票系统,用户输入两位数的彩票号与随机数进行匹配*/
public static void main(String[] args) throws Exception {
boolean more = true;
Scanner input = new Scanner(System.in);
System.out.println("********彩票中奖系统********");
System.out.println("规则:彩票为两位正整数,系统自动与彩票号对比");
System.out.println("一等奖:若数值完全匹配,则奖励¥10,000");
System.out.println("二等奖:若顺序不匹配,则奖励¥3,000");
System.out.println("三等奖:若顺序情况下匹配一个数值,则奖励¥1,000");
System.out.println("四等奖:若非顺序情况下匹配一个数值,则奖励¥500");
System.out.println("谢谢惠顾:若无任何值匹配,则该彩票作废\n");
while(more) {
int num = (int)(Math.random() * 90 + 10); // 获取随机数
int numTen = num / 10; // 获取随机数的十位
int numOne = num % 10; // 获取随机数的个位
System.out.println("请输入彩票号:");
int inputNum = input.nextInt();
int inputNumTen = inputNum / 10; // 获取彩票号的十位
int inputNumOne = inputNum % 10; // 获取彩票号的个位
if(inputNum < 10 || inputNum > 99) { // 判断数值是否非法
System.out.println("您输入的彩票号不合法,是否重新输入?true/false");
more = input.nextBoolean();
}else{ // 当输入数值合法时
System.out.println("您输入的彩票号为:" + inputNum);
System.out.println("中奖彩票号为:" + num);
if(inputNum == num) { // 当数值完全匹配时
System.out.println("恭喜,您中了一等奖,奖励¥10,000");
}else if(inputNumTen == numOne && inputNumOne == numTen) { // 当顺序不匹配时
System.out.println("恭喜,您中了二等奖,奖励¥3,000");
}else if(inputNumTen == numTen || inputNumOne == numTen) { // 当彩票号匹配第一个数时(第二个数一定不匹配)
if(inputNumTen == numTen) { // 顺序匹配
System.out.println("恭喜,您中了三等奖,奖励¥1,000");
}else // 顺序不匹配
System.out.println("恭喜,您中了四等奖,奖励¥500");
}