【homework1】彩票奖金问题(苛刻条件变松弛条件需要避免条件重复)

一.问题描述

/* 3、假设你想开发一个玩彩票的游戏,程序随机地产生一个两位数的彩票,提示用户输入一个两位数,然后按照下面的规则判定用户是否能赢。 1) 如果用户输入的数匹配彩票的实际顺序,奖金10 000美元。 2) 如果用户输入的所有数字匹配彩票的所有数字,但顺序不一致,奖金3 000美元。 3) 如果用户输入的一个数字仅满足顺序情况下匹配彩票的一个数字,奖金1 000美元。 4) 如果用户输入的一个数字仅满足非顺序情况下匹配彩票的一个数字,奖金500美元。 5) 如果用户输入的数字没有匹配任何一个数字,则彩票作废。 */


import java.util.Scanner;

public class Main{

public static void main(String\[\] args){

int code = (int)(Math.random() * (100 - 10) + 10);

System.out.println("请输入一个两位数:");

Scanner input = new Scanner(System.in);

int num = input.nextInt();

if(num / 10 == code / 10 && num % 10 == code % 10){

System.out.println("奖金10 000美元");

}

else if(num / 10 == code % 10 && num % 10 == code / 10){

System.out.println("奖金3 000美元");

}

else if(!(num / 10 == code / 10 && num % 10 == code % 10) &&

(num / 10 == code / 10 || num % 10 == code % 10)){

System.out.println("奖金1 000美元");

}

else if(!(num / 10 == code % 10 && num % 10 == code / 10) &&

(num / 10 == code % 10 || num % 10 == code / 10)){

System.out.println("奖金500美元");

}

else{

System.out.println("彩票作废");

}

}

}

相关推荐
硕风和炜8 分钟前
【LeetCode: 1301. 最大得分的路径数目 + DP】
java·算法·leetcode·动态规划·dp·记忆化搜索
SamDeepThinking19 分钟前
面向对象真正管理的,不是对象,而是依赖
java·后端·程序员
努力中的编程者29 分钟前
STL-vector的模拟实现
开发语言·c++·算法·stl·vector
薛定猫AI1 小时前
【深度解析】GLM-5.2 与 Z-Code:AI 编程智能体的原理拆解与 Python 调用实战
开发语言·人工智能·python
没文化的阿浩1 小时前
【C++】详解继承机制
开发语言·c++
文祐1 小时前
C语言用双向链表实现单调递减(递增)队列
c语言·开发语言·链表
雪的季节1 小时前
OCR: windows 环境基于c++的 paddle ocr 编译【CPU版本】编译成dll ,在QT、VS中调用
开发语言
剑挑星河月1 小时前
94.二叉树的中序遍历
java·算法·leetcode
2301_801184751 小时前
docker 工作
java·docker·容器
蒟蒻的贤1 小时前
python搭建MiniDL
开发语言·python·深度学习