共5道大题  最后一题为自动洗牌发牌系统

1) 编写一个类实现银行帐户的概念。包括的属性有:帐号、储户姓名、地址、存款余额,包括的方法有:存款、取款、查询、计算利息、累加利息等。

public class bank {
private int id;
private String name;
private String address;
private double money;
public bank()
{
this.id = 0;
this.name = "默认姓名";
this.address = "默认地址";
this.money = 0;
}
public String toString() {
return "bank [id=" + id + ", name=" + name + ", address=" + address + ", money=" + money + "]";
}
public bank(int id, String name, String address, int money) {
super();
this.id = id;
this.name = name;
this.address = address;
this.money = money;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
/**
* 存款
*/
public void saving(int m,int y) {
double a=getMoney();
double tax=y*0.001*m;
setMoney(getMoney()+m+tax);
System.out.println("存款成功:"+a+"元 "+y+"年后--->"+getMoney()+"元");
}
/**
* 取款
*/
public void take(int m)
{
double a=getMoney();
if(getMoney()<0)
{
System.out.println("余额不足取款失败");
}
setMoney(getMoney()-m);
System.out.println("取款成功:"+a+"元--->"+getMoney()+"元");
}
}

2)编写一个类实现桌子的概念,包括的属性有长、宽、高和颜色,包括的方法有:计算体积、显示桌子信息、设置桌子颜色及长宽高。

public class desk {
private double length;
private double width;
private double height;
private String color; public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public double getLength() {
return length;
}
public void setLength(double length) {
this.length = length;
}
public double getWidth() {
return width;
}
public void setWidth(double width) {
this.width = width;
}
public double getHeight() {
return height;
}
public void setHeight(double height) {
this.height = height;
} public desk(double length, double width, double height, String color) {
super();
this.length = length;
this.width = width;
this.height = height;
this.color = color;
}
public double V() {
return length*height*width;
}
@Override
public String toString() {
return "desk [length=" + length + ", width=" + width + ", height=" + height +", volume="+V()+ "]";
}
}

3)编写一个类实现一个圆,属性包括圆心、半径,方法主要包括显示的圆的信息、求面积等。圆心是Point类的对象,有两个属性x,y,代表横纵坐标。

public class circle {
private double r;
private double x;
private double y;
public double getR() {
return r;
}
public void setR(double r) {
this.r = r;
}
publ4ic double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
public circle(point p, double r) {
this.r = r;
this.x = p.getX();
this.y = p.getY();
}
public double area() {
return (double)((int)(Math.PI*Math.pow(r, 2)*100))/100; //保留两位小数
}
@Override
public String toString() {
return "circle [r=" + r + ", x=" + x + ", y=" + y + ", area=" + area() + "]";
}
}
圆心类
public class point {
private int x;
private int y;
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
public point(int x, int y) {
this.x = x;
this.y = y;
}
public point() {
this.x=0;
this.y=0;
}
}

4)设计一个扑克洗牌算法。将52张牌(不包括大、小王)用对象的形式表示,每张牌包括花色和大小。大小按如下序号排列:(2、3、4、5、6、7、8、9、10、J、Q、K、A), 花色为: ♠ 、♣、♥、♦ ,首先将扑克按顺序存放到一个一维数组中,然后按洗牌算法进行洗牌,最后,按东、南、西、北进行分发,显示扑克时将同一花色放在一起。

  card类

public class card {
private String color;
private String num;
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
@Override
public String toString() {
return "\t"+color+"-"+num;
}
}

  具体算法代码:建牌库,洗牌,理牌

public class cards_test {
public static void main(String[] args) {
final int N=52,M=13;
card[] cards=new card[N];
card[] East=new card[M];
card[] West=new card[M];
card[] North=new card[M];
card[] South=new card[M];
for(int i=0;i<M;i++)
East[i]=new card();
for(int i=0;i<M;i++)
South[i]=new card();
for(int i=0;i<M;i++)
West[i]=new card();
for(int i=0;i<M;i++)
North[i]=new card();
String[] color= {"红桃","草花","红心","方片"};
String[] num= {"A","2","3","4","5","6","7","8","9","10","J","Q","K"};
for(int i=0;i<N;i++) {
cards[i]=new card();
cards[i].setNum(num[i%13]);
cards[i].setColor(color[i/13]);
}
System.out.println("洗牌前");
for(int i=0;i<N;i++) {
System.out.print(cards[i].toString());
if((i+1)%13==0)
System.out.println();
}
for(int i=0;i<N;i++) {
int index=(int)(Math.random()*10000)%52;
String temp=cards[i].getNum();
cards[i].setNum(cards[index].getNum());
cards[index].setNum(temp);
String co=cards[i].getColor();
cards[i].setColor(cards[index].getColor());
cards[index].setColor(co);
}
System.out.println("洗牌后");
String[] position= {"东:","西:","南:","北:"};
for(int i=0;i<N;i++) {
if(i%13==0)
System.out.print(position[i/13]);
if(i>=0&&i<=12)
East[i]=cards[i];
else if(i>=13&&i<=25)
South[i-13]=cards[i];
else if(i>=26&&i<=38)
West[i-26]=cards[i];
else
North[i-39]=cards[i];
System.out.print(cards[i].toString());
if((i+1)%13==0)
System.out.println();
}
System.out.print("理牌后(相同花色放一起)");
System.out.print("\n"+position[0]);
for(int j=0;j<4;j++)
for(int i=0;i<M;i++)
if(East[i].getColor().equals(color[j]))
System.out.print(East[i].toString());
System.out.print("\n"+position[1]);
for(int j=0;j<4;j++)
for(int i=0;i<M;i++)
if(West[i].getColor().equals(color[j]))
System.out.print(West[i].toString());
System.out.print("\n"+position[2]);
for(int j=0;j<4;j++)
for(int i=0;i<M;i++)
if(South[i].getColor().equals(color[j]))
System.out.print(South[i].toString());
System.out.print("\n"+position[3]);
for(int j=0;j<4;j++)
for(int i=0;i<M;i++)
if(North[i].getColor().equals(color[j]))
System.out.print(North[i].toString());
} }

java 实验2 类的更多相关文章

  1. Java实验1 - 类的继承(super)- 创建checkaccount继承account

    笔记总结: /** 任务81: 继承性,(降低代码亢余度) * 1.class 子类A Extends 父类B,(private 的内容无法被继承) * 2. 方法可以覆盖(Overrides), 注 ...

  2. java实验作业类的定义与描述

    1 //1三角形的定义与描述 2 package test; 3 4 public class sjx { 5 private double a,b,c; 6 7 public sjx(double ...

  3. Java实验四

    20145113 Java实验四 快捷键 之前没怎么记ISDEA的快捷键,但是熟练使用快捷键可以带来很多的便利,于是先开始学习一些常用的快捷键,就采用它默认的快捷键,这样后期就不会出现冲突,一些and ...

  4. Java实验四和实验五

    实验四 类的继承性和多态性 [开发语言及实现平台或实验环境] Windows2000 或XP,JDK1.6与Jcreator4.0 [实验目的] 1.  掌握OOP方式进行程序设计的方法, 2.  了 ...

  5. Java实验二20135104

    课程:Java程序设计          班级: 1351 姓名:刘帅                学号:20135104 成绩:             指导教师:娄嘉鹏       实验日期:2 ...

  6. Java实验报告二:Java面向对象程序设计

    Java实验报告二:Java面向对象程序设计                                                                               ...

  7. java实验一实验报告

    Java实验报告一:Java开发环境的熟悉                                                                               ...

  8. Java实验五报告——TCP传输及加解密

    一.实验内容 1.运行教材上TCP代码,结对进行,一人服务器,一人客户端: 2.利用加解密代码包,编译运行代码,一人加密,一人解密: 3.集成代码,一人加密后通过TCP发送: 注:加密使用AES或者D ...

  9. 20175212童皓桢 Java实验二-面向对象程序设计实验报告

    20175212童皓桢 Java实验二-面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设 ...

随机推荐

  1. Unity3D的坑系列:你真想发布WinPhone版吗?

    Unity 4.2加入了支持WinPhone发布,本来是一件令人开心的事情,不过最近听了Unity技术支持的一个事情后就发现,原来发布WinPhone版也是一个坑. 实际上如果你用Unity做小游戏发 ...

  2. dd命令的解释

    dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512:c=1:k=1024:w=2 参数注释: 1. if=文件名:输入 ...

  3. HTTP之报文

    HTTP 报文 用于 HTTP 协议交互的信息被称为 HTTP 报文.请求端(客户端)的 HTTP 报文叫做请求报文,响应端(服务器端)的叫做响应报文.HTTP 报文本身是由多行(用 CR+LF 作换 ...

  4. leetcode766

    本题经过一下午的思考,终于解出来了.使用的是层次遍历的思想. class Solution { public: bool isToeplitzMatrix(vector<vector<in ...

  5. Java微信公众平台开发(二)--微信服务器post消息体的接收

    转自: http://www.cuiyongzhi.com/post/39.html 在上一篇的文章中我们详细讲述了如何将我们的应用服务器和微信腾讯服务器之间的对接操作,最后接入成功,不知道你有没有发 ...

  6. sftp put权限不够

    报错如下: sftp> put play.zip ./ Uploading play.zip to /opt/library/./play.zip remote open("/opt/ ...

  7. elasticsearch2.x插件之一:marvel(配置)

    Marvel是Elastic公司推出的商业监控方案,是用来监控Elasticsearch集群,历史状态的有力工具,便于性能优化以及故障诊断.监控主要分为六个层面,分别是集群层.节点层.索引层.分片层. ...

  8. 566. Reshape the Matrix矩阵重排

    [抄题]: In MATLAB, there is a very useful function called 'reshape', which can reshape a matrix into a ...

  9. C#实现访问网络共享文件夹

    C#实现访问网络共享文件夹,使用 WNetAddConnection2A 和 WNetCancelConnection2A. 在目标服务器建立共享文件夹,建立访问账号test; public enum ...

  10. 数字图像处理实验(14):PROJECT 06-01,Web-Safe Colors 标签: 图像处理MATLAB 2017-05-27 20:45 116人阅读

    实验要求: Objective: To know what are Web-safe colors, how to generate the RGB components for a given jp ...