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

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

相关文章

java程序远程debug原理与配置全过程

《java程序远程debug原理与配置全过程》文章介绍了Java远程调试的JPDA体系,包含JVMTI监控JVM、JDWP传输调试命令、JDI提供调试接口,通过-Xdebug、-Xrunjdwp参数配... 目录背景组成模块间联系IBM对三个模块的详细介绍编程使用总结背景日常工作中,每个程序员都会遇到bu

uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)

《uni-app小程序项目中实现前端图片压缩实现方式(附详细代码)》在uni-app开发中,文件上传和图片处理是很常见的需求,但也经常会遇到各种问题,下面:本文主要介绍uni-app小程序项目中实... 目录方式一:使用<canvas>实现图片压缩(推荐,兼容性好)示例代码(小程序平台):方式二:使用uni

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法

《JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法》:本文主要介绍JavaScript中比较两个数组是否有相同元素(交集)的三种常用方法,每种方法结合实例代码给大家介绍的非常... 目录引言:为什么"相等"判断如此重要?方法1:使用some()+includes()(适合小数组)方法2

基于Python编写自动化邮件发送程序(进阶版)

《基于Python编写自动化邮件发送程序(进阶版)》在数字化时代,自动化邮件发送功能已成为企业和个人提升工作效率的重要工具,本文将使用Python编写一个简单的自动化邮件发送程序,希望对大家有所帮助... 目录理解SMTP协议基础配置开发环境构建邮件发送函数核心逻辑实现完整发送流程添加附件支持功能实现htm

C#控制台程序同步调用WebApi实现方式

《C#控制台程序同步调用WebApi实现方式》控制台程序作为Job时,需同步调用WebApi以确保获取返回结果后执行后续操作,否则会引发TaskCanceledException异常,同步处理可避免异... 目录同步调用WebApi方法Cls001类里面的写法总结控制台程序一般当作Job使用,有时候需要控制

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

golang程序打包成脚本部署到Linux系统方式

《golang程序打包成脚本部署到Linux系统方式》Golang程序通过本地编译(设置GOOS为linux生成无后缀二进制文件),上传至Linux服务器后赋权执行,使用nohup命令实现后台运行,完... 目录本地编译golang程序上传Golang二进制文件到linux服务器总结本地编译Golang程序

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin