第三章第十五题(游戏:彩票)(Game: lottery)-程序员宅基地

技术标签: 代码规范  java  # 第三章课后习题答案  小程序  

**3.15(游戏:彩票)修改程序清单3-8,产生三位整数的彩票。程序提示用户输入一个三位整数,然后依照下面判定用户是否赢得奖金:

1. 如果用户输入的所有数包括顺序完全匹配彩票数字,奖金是10000美元。
2. 如果用户输入的所有数匹配彩票的所有数字,奖金是3000美元。
3. 如果用户输入的其中一个数匹配彩票号码中的一个数,奖金是1000美元。

**3.15(Game: lottery) Revise Listing 3.8, Lottery.java, to generate a lottery of a three-digit number. The program prompts the user to enter a three-digit number and determines whether the user wins according to the following rules:

1. If the user input matches the lottery number in the exact order, the award is
$10,000.
2. If all digits in the user input match all digits in the lottery number, the award
is $3,000.
3. If one digit in the user input matches a digit in the lottery number, the award
is $1,000.

下面是参考答案代码:

import java.util.*;

public class LotteryQuestion15 {
    
	public static void main(String[] args) {
    
		int guess, guessDigit1, guessDigit2, guessDigit3;
		final int lotteryDigit1, lotteryDigit2, lotteryDigit3;
		// Generate a lottery number
		final int lottery = (int)(Math.random() * 1000);
		
		// Prompt the user to enter a guess
		System.out.print("Enter your lottery pick (three digits): ");
		Scanner input = new Scanner(System.in);
		guess = input.nextInt();
		
		// Get digits from guess
		guessDigit1 = guess / 100;
		guessDigit2 = guess % 100 / 10;
		guessDigit3 = guess % 10;
		
		// Get digits from lottery
		lotteryDigit1 = lottery / 100;
		lotteryDigit2 = lottery % 100 / 10;
		lotteryDigit3 = lottery % 10;
		
		// Check the guess
		if(lottery == guess)
			System.out.println("Exact match:you win $10000");		
		else if((lotteryDigit1 == guessDigit1 && lotteryDigit2 == guessDigit3 && lotteryDigit3 == guessDigit2)
			||(lotteryDigit1 == guessDigit2 && lotteryDigit2 == guessDigit1 && lotteryDigit3 == guessDigit3)
			||(lotteryDigit1 == guessDigit2 && lotteryDigit2 == guessDigit3 && lotteryDigit3 == guessDigit1)
			||(lotteryDigit1 == guessDigit3 && lotteryDigit2 == guessDigit1 && lotteryDigit3 == guessDigit2)
			||(lotteryDigit1 == guessDigit3 && lotteryDigit2 == guessDigit2 && lotteryDigit3 == guessDigit1))
		{
    
			System.out.println("Match all digits:you win $3000");
		}
		else if(lotteryDigit1 == guessDigit1 || lotteryDigit1 == guessDigit2 || lotteryDigit1 == guessDigit3
			||lotteryDigit2 == guessDigit1 || lotteryDigit2 == guessDigit2 || lotteryDigit2 == guessDigit3
			||lotteryDigit3 == guessDigit1 || lotteryDigit3 == guessDigit2 || lotteryDigit3 == guessDigit3)
		{
    
			System.out.println("Match one digit:you win $1000");
		}
		else
		{
    
			System.out.println("Sorry,no match");
		}
		input.close();
	}
}

运行效果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注:编写程序要养成良好习惯
如:1.文件名要用英文,具体一点
2.注释要英文
3.变量命名要具体,不要抽象(如:a,b,c等等),形式要驼峰化
4.整体书写风格要统一(不要这里是驼峰,那里是下划线,这里的逻辑段落空三行,那里相同的逻辑段落空5行等等)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/xjlovewjh/article/details/104176642

智能推荐

计算机视觉竞赛技巧总结(一):目标检测篇-程序员宅基地

文章浏览阅读9.8k次,点赞17次,收藏43次。本系列主要面向计算机视觉目标检测、图像分割及OCR等领域,每章将分别从最新方法、开源框架、数据、模型、常用Tricks等方面展开介绍,主要面向深度学习CV方向同学学习,希望大家能够多多交流,欢迎订阅本专栏,如有错误请大家在评论区指正,如有侵权联系删除。_计算机视觉竞赛

kill bugs-程序员宅基地

文章浏览阅读327次。Java使用mysql-jdbc连接MySQL出现如下警告:Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be _kill bugs

使用eclipse搭建SSM框架整合Maven(超详细!)_用ecplise搭建一个maven多模块ssm框架项目-程序员宅基地

文章浏览阅读7.8k次,点赞9次,收藏44次。工作以来,一直在写前端,很久没碰后端了,今天突然发现,后端的东西得慢慢捡起来了,毕竟以后还是得靠后端吃饭的。要写后端,首先得有环境吧,那就从搭框架开始吧,今天先搭一个SSM框架,方便以后需要时直接用。下次有时间再写一个搭建SSH的。文章大部分内容参考传智播客教学视频,本文只列出搭建流程,一些固定代码还是能copy就copy吧^_^1.使用eclipse新建一个Maven工程2.填写..._用ecplise搭建一个maven多模块ssm框架项目

java使用MultipartFile上传文件_multipartfile 克隆类-程序员宅基地

文章浏览阅读943次。@PostMapping("upload")public ResponseVo upload(@RequestParam("files[]") MultipartFile[] files) { Map<String, Object> resultMap = new HashMap<>(); if (ArrayUtils.isEmpty(files)) { //resultMap.put("message", MessageUtil.getMessa._multipartfile 克隆类

【云原生 | 01】docker容器引擎_docker cpuset.cpu_exclusive-程序员宅基地

文章浏览阅读6.4w次,点赞161次,收藏305次。容器技术显然不是什么新概念,最早的容器技术可以追溯到 1979 年诞生的 chroot 技术 ,容器技术又称为容器虚拟化,这是虚拟化技术中的一种 ,目前虚拟化技术主要有硬件虚拟化、半虚拟化和操作系统虚拟化等 。本系列文章讲述的容器虚拟化属于操作系统虚拟化,其相较于其他主流虚拟化技术更为轻量。............_docker cpuset.cpu_exclusive

《剑指offer》第7题:斐波那契数列_for 1071:菲波那契数 【题目描述1071:菲波那契数 【题目描述】 菲波那契数列是指-程序员宅基地

文章浏览阅读291次。斐波那契数列1 题目描述2 分析及题解2.1 方法一:递归2.2 方法二:递归2.3 方法三:循环迭代1 题目描述  大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。n<=392 分析及题解2.1 方法一:递归之前写过一题是需要返回整个斐波那契数列的,所以此次递归借助一个初始化列表class Solution1: def __init__(self): self.fibList = [0, 1] #_for 1071:菲波那契数 【题目描述1071:菲波那契数 【题目描述】 菲波那契数列是指

随便推点

Java岗八年多开发经验分享_8年 java开发经验-程序员宅基地

文章浏览阅读543次。从接触开发至今已有8年多,从实习到带团队,也算总结出了一部分经验!如果分享的东西对读者朋友们来说,有价值,有干货!能够给到帮助!这就是我写这篇文章的目的!这篇文章为文档面试资料推荐文,希望带着大家从面试题的角度,去分析问题,解决问题!..._8年 java开发经验

微软必应词典客户端的案例分析-程序员宅基地

文章浏览阅读226次。微软必应词典客户端的案例分析:整个文章的研究对象为必应词典客户端IOS版第一部分:调研 测评Bug:首先最严重的一个Bug就是摄像头翻译功能基本形同虚设,整个取景框里面没有说明需要把目标单词放在哪儿或者说明是整段翻译等。就算拍照清晰也一直返回错误信息在相关单词推荐的功能中,经常会有单词没有翻译出现全空的情况出现单词所对应的例句中,会有功能将翻以前的单词..._微软必应词典联想词汇

Android findViewById与findViewWithTag()-程序员宅基地

文章浏览阅读1.1k次。2019独角兽企业重金招聘Python工程师标准>>> ..._findviewwithtag

QT关于回调函数_qt 回调函数-程序员宅基地

文章浏览阅读5.5k次。.h文件#ifndef CALLBACK_H#define CALLBACK_Htypedef void (* Callback )( void *n_obj, void *user_data );//callbackstruct Timer{ void *user_data; void *user_obj; Callback n_cb;};cla_qt 回调函数

splice和slice的差别_splice改变原数组-程序员宅基地

文章浏览阅读502次。前端js基础:splice和slice的差别_splice改变原数组

实验6:6-5_write(str(i))-程序员宅基地

文章浏览阅读71次。f=open('sy6-5.txt','w')n=0for i in range(20): for j in range(0,2): n+=1 if n%5==0: f.write(str(i)+'\n') else: f.write(str(i)+' ')f.close()_write(str(i))