美女选妃修改版与斗地主两个程序

2023-11-21 17:18

本文主要是介绍美女选妃修改版与斗地主两个程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

我们把上次写的代码改编一下,上次写的代码没有让我们自己手动输入身高体重,我们今天就自己设置一下自己来输入身高体重,我们把上次在test4中的代码修改成这个样子:
package com.didi;(#说明:com.didi是我创建的包)

import java.util.*;

public class Test2 {
public List getBLs() {
List bls = new ArrayList<>();
Scanner input = new Scanner(System.in);
for (int i = 1; i < 4; i++) {
System.out.println(“请输入第” + i+ “个美女的身高:”);
int h = input.nextInt();
System.out.println(“请输入第” + i + “个美女的体重:”);
int w = input.nextInt();
BL bl=new BL();
bl.setHeight(h);
bl.setWight(w);
bls.add(bl);
}
return bls;
}

public Map<String, Integer> getSumHAndSumW(List bls) {

//增强for循环
int sumH = 0;
int sumW = 0;
for (BL bl : bls) {
sumH = sumH + bl.getHeight();
sumW = sumW + bl.getWight();
}
System.out.println(sumH+"====="+sumW);
Map map = new HashMap();
map.put(“sgh”, sumH);
map.put(“tzh”, sumW);
return map;
}

public Map<String, Integer> getAvg(Map<String, Integer> map) {
int sumH = map.get(“sgh”);
int sumW = map.get(“tzh”);
int avgH = sumH / 3;
int avgW = sumW / 3;

Map<String, Integer> avgMap = new HashMap<>();
avgMap.put(“pjsg”, avgH);
avgMap.put(“pjtz”, avgW);
return avgMap;
}

public String getResult(Map<String, Integer> avgM) {
int avgH = avgM.get(“pjsg”);
int avgW = avgM.get(“pjtz”);
if (avgH > 150 && avgW < 100) {
return “是美女”;
} else {
return “不是美女”;
}

}

public static void main(String[] args) {

Test2 test2 = new Test2();
List bls= test2.getBLs();

Map<String, Integer> map = test2.getSumHAndSumW(bls);
Map<String, Integer> avgM = test2.getAvg(map);
String s = test2.getResult(avgM);
System.out.println(s);

}
}

然后再创建一个java class,我创建了一个名字为BL的java class,BL的代码如下:
package com.didi;

public class BL {
private int height;
private int wight;

public int getHeight() {
return height;
}

public void setHeight(int height) {
if(20<height&&height<300){
this.height = height;
}else {
System.out.println(“可能是个外星人”);
}

}

public int getWight() {
return wight;
}

public void setWight(int wight) {
this.wight = wight;
}
}
接下来我们run一下,看看结果是如何的
在这里插入图片描述
这样子就对了。

接下来是模拟斗地主小程序,首先我们看一下要求。
a.拿一副牌
b.打乱拍
c.留3张底牌
d.发牌

代码如下:
package com.didi;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Random;
//准备一副牌

public class DouDiZhu1 {
public static void main(String[] args) {
List poker=new ArrayList<>();
String[] nums={“A”,“2”,“3”,“4”,“5”,“6”,“7”,“8”,“9”,“10”,“J”,“Q”,“K”};
String[] colors={“黑桃”,“红桃”,“梅花”,“方块”};

for (String color:colors){
for (String num:nums){
String pai=color+num;
poker.add(pai);
}
}
poker.add(“大王”);
poker.add(“小王”);
System.out.println(poker);

//打乱顺序
Collections.shuffle(poker);
System.out.println(poker);

//留三张底牌
List dipai=new ArrayList<>();
Random random=new Random();
for (int i=0;i<3;i++){
int index=random.nextInt(poker.size());
String pai=poker.remove(index);
dipai.add(pai);
}
System.out.println(dipai);
System.out.println(poker);

//发牌
List wyb=new ArrayList<>();
List xz=new ArrayList<>();
List yyk=new ArrayList<>();
for (int i=0;i<poker.size();i++){
String pai=poker.get(i);
int mod=i%3;
if(mod0){
wyb.add(pai);
}else if(mod
1){
xz.add(pai);
}else {
yyk.add(pai);
}
}
//看牌
System.out.println(wyb);
System.out.println(xz);
System.out.println(yyk);

}

}

运行结果如下:
在这里插入图片描述
这是没有排序过的,下次我们再讲排序过的吧.

这篇关于美女选妃修改版与斗地主两个程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/403836

相关文章

C语言实现两个变量值交换的三种方式

《C语言实现两个变量值交换的三种方式》两个变量值的交换是编程中最常见的问题之一,以下将介绍三种变量的交换方式,其中第一种方式是最常用也是最实用的,后两种方式一般只在特殊限制下使用,需要的朋友可以参考下... 目录1.使用临时变量(推荐)2.相加和相减的方式(值较大时可能丢失数据)3.按位异或运算1.使用临时

如何用java对接微信小程序下单后的发货接口

《如何用java对接微信小程序下单后的发货接口》:本文主要介绍在微信小程序后台实现发货通知的步骤,包括获取Access_token、使用RestTemplate调用发货接口、处理AccessTok... 目录配置参数 调用代码获取Access_token调用发货的接口类注意点总结配置参数 首先需要获取Ac

基于Python开发PDF转Doc格式小程序

《基于Python开发PDF转Doc格式小程序》这篇文章主要为大家详细介绍了如何基于Python开发PDF转Doc格式小程序,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 用python实现PDF转Doc格式小程序以下是一个使用Python实现PDF转DOC格式的GUI程序,采用T

java两个List的交集,并集方式

《java两个List的交集,并集方式》文章主要介绍了Java中两个List的交集和并集的处理方法,推荐使用Apache的CollectionUtils工具类,因为它简单且不会改变原有集合,同时,文章... 目录Java两个List的交集,并集方法一方法二方法三总结java两个List的交集,并集方法一

将java程序打包成可执行文件的实现方式

《将java程序打包成可执行文件的实现方式》本文介绍了将Java程序打包成可执行文件的三种方法:手动打包(将编译后的代码及JRE运行环境一起打包),使用第三方打包工具(如Launch4j)和JDK自带... 目录1.问题提出2.如何将Java程序打包成可执行文件2.1将编译后的代码及jre运行环境一起打包2

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

C#比较两个List集合内容是否相同的几种方法

《C#比较两个List集合内容是否相同的几种方法》本文详细介绍了在C#中比较两个List集合内容是否相同的方法,包括非自定义类和自定义类的元素比较,对于非自定义类,可以使用SequenceEqual、... 目录 一、非自定义类的元素比较1. 使用 SequenceEqual 方法(顺序和内容都相等)2.

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专