*7.29(游戏:挑选四张牌)编写一个程序,从一副52张牌中选出4张,然后计算它们的和。Ace King Quee Jack分别表示1、13、12和11,显示得到和为24的选牌次数

  • 题目
    • 题目描述
    • 破题:不重复抽取
  • 代码
    • 运行实例

题目

题目描述

7.29(游戏:挑选四张牌)编写一个程序,从一副52张牌中选出4张,然后计算它们的和。Ace King Quee Jack分别表示1、13、12和11,显示得到和为24的选牌次数

破题:不重复抽取

  1. 主方法:定义一个计数变量count,设置初始值为0
  2. 主方法:定义四个int型变量,保存抽取到的牌数(1到52);一个int型变量用于计算牌数之和
  3. 主方法:使用循环抽牌;并在循环中、四次抽取并计算和后调用自定义方法,传入四个牌数值,使用boolean接收返回值
  4. 主方法:如果boolean值为true,则计数变量自增1;并输出计数变量
  5. 自定义方法:接收传入的四个int型整数,如果四个int型整数有任意两个数相同,则返回false;都不同则返回true
  6. 自定义方法:声明一个长度为4的int型数组,并将四个接收到的整数传入数组
  7. 自定义方法:对数组排序
  8. 自定义方法:对数组进行遍历,看前后元素是否相同,如果有相同则返回false,如果都不同返回true

代码

import java.util.Arrays;public class Test7_29 {public static void main(String[] args) {//1. 主方法:定义一个计数变量count,设置初始值为0int count = 0;//2. 主方法:定义四个int型变量,保存抽取到的牌数(1到52);一个int型变量用于计算牌数之和int a=0, b=0, c=0, d=0;int sum = 0;//3. 主方法:使用循环抽牌;并在循环中、四次抽取并计算和后调用自定义方法,传入四个牌数值,使用boolean接收返回值boolean bool = false;while(sum != 24){a = (int) (Math.random() * 52 + 1);b = (int) (Math.random() * 52 + 1);c = (int) (Math.random() * 52 + 1);d = (int) (Math.random() * 52 + 1);sum = a % 13 + b % 13 + c % 13 + d % 13 + 4;bool = is_4_digit_repeat(a, b, c, d);//如果boolean值为true,则计数变量自增1if (bool) ++count;}// 输出计数变量System.out.println(count);}//5. 自定义方法:接收传入的四个int型整数,如果四个int型整数有任意两个数相同,则返回false;都不同则返回truepublic static boolean is_4_digit_repeat(int a, int b, int c, int d){//6. 自定义方法:声明一个长度为4的int型数组,并将四个接收到的整数传入数组int[] list = {a, b, c, d};//7. 自定义方法:对数组排序Arrays.sort(list);//8. 自定义方法:对数组进行遍历,看前后元素是否相同,如果有相同则返回false,如果都不同返回truefor ( int i = 0 ; i < 3 ; i++){if (list[i] == list[i+1]){return false;}}return true;}
}

运行实例

2424
774

Java黑皮书课后题第7章:*7.29(游戏:挑选四张牌)编写一个程序,从一副52张牌中选出4张,然后计算它们的和。Ace King Quee Jack分别表示1、13、12和11,显示得到和24的次相关推荐

  1. Java黑皮书课后题第5章:*5.48(处理字符串)编写一个程序,提示用户输入一个字符串,显示奇数位置的字符

    5.48(处理字符串)编写一个程序,提示用户输入一个字符串,显示奇数位置的字符 题目 题目概述 运行示例 破题 代码 题目 题目概述 5.48(处理字符串)编写一个程序,提示用户输入一个字符串,显示奇 ...

  2. Java黑皮书课后题第4章:4.20(字符串处理)编写一个程序,提示用户输入一个字符串,显示它的长度和第一个字符

    4.20(字符串处理)编写一个程序,提示用户输入一个字符串,显示它的长度和第一个字符 题目 题目概述 破题 代码 题目 题目概述 4.20(字符串处理)编写一个程序,提示用户输入一个字符串,显示它的长 ...

  3. Java黑皮书课后题第4章:*4.21(检查SSN)编写一个程序,提示用户输入一个社保号码(格式是DDD-DD-DDDD,D是1个数字)你的程序应该判断输入是否合法

    *4.21(检查SSN)编写一个程序,提示用户输入一个社保号码(格式是DDD-DD-DDDD,D是1个数字)你的程序应该判断输入是否合法 题目 题目概述 运行示例 破题 代码 题目 题目概述 *4.2 ...

  4. Java黑皮书课后题第8章:**8.37(猜测首府)编写一个程序,重复提示用户输入一个州的首府。当接收到用户输入后,程序报告答案是否正确。假设50个州以及它们的首府保存在一个二维数组中,提示用户回答所

    **8.37(猜测首府)编写一个程序,重复提示用户输入一个州的首府 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 **8.37(猜测首府)编写一个程序,重复提示用户输入一个州的首府. ...

  5. Java黑皮书课后题第7章:7.4(分析成绩)编写一个程序,读入个数不确定的考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的。输入一个负数表示输入结束。假设最高分是100

    7.4(分析成绩)编写一个程序,读入个数不确定的考试分数,并且判断有多少个分数是大于或等于平均分,多少个分数是低于平均分的.输入一个负数表示输入结束.假设最高分是100 题目 题目描述 破题 代码 运 ...

  6. Java黑皮书课后题第4章:4.22(检测子串)编写一个程序,提示用户输入两个字符串,检测第二个字符串是否是第一个字符串的子串

    4.22(检测子串)编写一个程序,提示用户输入两个字符串,检测第二个字符串是否是第一个字符串的子串 题目 题目概述 运行示例 破题:String方法.属性的使用 代码 题目 题目概述 4.22(检测子 ...

  7. Java黑皮书课后题第4章:4.16(随机字符)编写一个程序,使用Math.random()方法显示一个随机的大写字母

    4.16(随机字符)编写一个程序,使用Math.random()方法显示一个随机的大写字母 题目 题目概述 破题 生成随机数 随机数与大写字母之间的转换:ASCII 转化为char型 代码 题目 题目 ...

  8. Java黑皮书课后题第2章:*2.23(驾驶费用)编写一个程序,提示用户输入驾驶的距离、每加仑多少英里的汽车燃油性能值,以及每加仑的价格,然后显示旅程的费用

    *2.23(驾驶费用)编写一个程序,提示用户输入驾驶的距离.每加仑多少英里的汽车燃油性能值,以及每加仑的价格,然后显示旅程的费用 题目 题目概述 运行示例 思路 代码 题目 题目概述 *2.23(驾驶 ...

  9. Java黑皮书课后题第8章:8.18(打乱行)编写一个方法,使用下面的方法头打乱一个二维int型数组的行。编写一个测试程序,打乱下面的矩阵

    8.18(打乱行)编写一个方法,使用下面的方法头打乱一个二维int型数组的行.编写一个测试程序,打乱下面的矩阵 题目 题目描述 破题 代码 题目 题目描述 8.18(打乱行)编写一个方法,使用下面的方 ...

  10. Java黑皮书课后题第7章:*7.1(指定等级)编写一个程序读入学生成绩,得到最高分best,然后根据下面的规则给出等级值。程序提示用户输入学生总数,然后提示用户输入所有的分数,最后显示等级给出结论

    7.1(指定等级)编写一个程序读入学生成绩,得到最高分best,然后根据下面的规则给出等级值 题目 题目描述与运行示例 破题 代码 题目 题目描述与运行示例 *7.1(指定等级)编写一个程序读入学生成 ...

最新文章

  1. java形参的传递机制
  2. 剖析Linux系统启动过程(二)
  3. 三星s5能升级到android7.0,三星手机Android 7.0升级的最新列表: Galaxy S5,未注意Note 4...
  4. 学习CTF(二进制安全)一个月多的奇妙冒险~;
  5. 国庆风头像一键制作网站源码
  6. JavaScript正则表达式简明教程(二)
  7. 【二叉树】牛客网:二叉树的镜像
  8. 捷联惯导系统学习7.3(惯性/卫星组合导航 )
  9. 视频分配器中提高信号完整性的方法
  10. Oracle中dual表的用途介绍
  11. ElementUI(1):很好的前端开发框架
  12. python清除所有变量_python清理变量
  13. 关于物联网透传工具的安全性
  14. 软件测试进阶之2——沉下心来思考
  15. NEW RDSP MODE I (快速幂)
  16. linux还原防火墙设置,Linux防火墙设置
  17. python爬虫需要cookie_python爬虫(六) Cookie
  18. 【ZCMU1411】喜闻乐见的a+b(20进制a+b)
  19. 【编译原理】WHILE循环语句的翻译程序设计与实现(递归下降法、输出四元式)(赋值语句的词法分析、语义分析)
  20. 推荐五款免费的开源软件,总有一款适合你

热门文章

  1. zabbix的安装与部署(proxy、睿象云)
  2. shell的执行流控制
  3. 字符指针(子串个数统计)
  4. android 两端对齐,LinearLayout子控件两端对齐
  5. hive提供oracle接口嘛,Hive是个什么东东
  6. 从微服务到 Serverless | 开源只是开始,终态远没有到来
  7. 闲鱼研发框架应用和探索
  8. 5个杰出的商业机器学习用例
  9. 调度算法为何被阿里如此重视?
  10. The world at your fingertips — 天涯明月刀幕后23(海战)