1. 自己定义一个时间类,类名为 MyTime,有三个整型成员,时 hour,分 minute,秒 second,
为了保证数据的安全性,这三个成员变量应声明为私有,提供对外公共函数,并验证有
效性。为 MyTime 类定义构造方法,以方便创建对象时初始化成员变量。再定义 toString
方 法 , 用 于 将 时 间 信 息 打 印 出 来 为 Mytime 类 添 加 以 下 方 法 addSecond(int
sec),addMinute(int min),addHour(int
sec),subMinute(int
min),subHour(int hour)。分别对时、分、秒进行加减运算。
subSecond(int
hour),
Mytime 类:
package until3;
public class MyTime {
private int hour;
private int minute;
private int second;
public MyTime(int hour,int minute,int second)
{
setHour(hour);
this.hour=hour;
this.minute=minute;
this.second=second;
}
public void display(MyTime time)
{
System.out.println(time.getHour()+":"+time.getMinute()+":"+time.getSecond());
}
public int getHour()
{
return hour;
}
public void setHour(int hour)
{
if(hour>0&&hour<=24)
this.hour=hour;
else
System.out.println("时间出现错误!");
}
public int getMinute()
{
return minute;
}
public void setMinture(int minture)
{
this.minute=minute;
}
public int getSecond()
{
return second;
}
public void setSecond(int second)
{
this.second=second;
}
public void addHour(int hou)
{
this.hour=hour+hou;
if(hour>=24)
hour=hour-24;
}
public void addMinute(int min)
{
this.minute=minute+min;
if(minute>=60)
{
addHour(1);
minute=minute-60;
}
}
public void addSecond(int sec)
{
this.second=second+sec;
if(second>=60)
{
addMinute(1);
second=second-60;
}
}
public void subHour(int hou)
{
this.hour=hour-hou;
if(hou<0)
{
hour=hour+24;
}
}
public void subMinute(int min)
{
this.minute=minute-min;
if(minute<0)
{
subHour(1);
minute=minute+60;
}
}
public void subSecond(int sec)
{
this.second=second-sec;
if(second<0)
{
subMinute(1);
second=second+60;
}
}
}
Test 主函数:
package until3;
public class Text {
public static void main(String[] args) {
// TODO Auto-generated method stub
MyTime newTime=new MyTime(2,54,51);
newTime.display(newTime);//打印原始时间
System.out.println("2:54:51+17:10:9 为:");
newTime.addHour(17);
newTime.addMinute(10);
newTime.addSecond(9);
newTime.display(newTime);//输出最终时间
System.out.println("2:54:51-1:1:41 为:");
MyTime newTime1=new MyTime(2,54,51);
newTime1.subHour(1);
newTime1.subMinute(1);
newTime1.subSecond(41);
newTime1.display(newTime1);//输出最终时间
}
}
运行结果:
2. 定义一个 Card 类,表示扑克牌,该类包括下述成员:
(1) 有两个 private 访问权限的字符串变量 face 和 suit。face 描述一张牌的牌面值(如:
A、K、Q、J、10、9、8、7、6、5、4、3、2 等),suit 描述一张牌的花色(如:
“梅花”、“黑桃”、“红桃”、“方块”)。
(2) 有一个 public 访问权限的构造方法,为类中的两个变量赋值
(3) 有一个 protected 访问权限的方法 getFace(),得到扑克牌的牌面值
(4) 有一个 protected 访问权限的方法 getSuit(),得到扑克牌的牌面值
(5) 有一个重写方法 toString(),返回表示扑克牌的花色和牌面值字符串(如:“红桃
A”,“方块 J”)
扩展:生成一副扑克牌,实现比大小函数
Crad 类:
package until3;
public class Crad {
private String face;
private String suit;
public void setFace(String face)
{
if(face=="A" || face=="K" || face=="Q" || face=="J" || face=="10" || face=="9" ||
face=="8"
||face=="7" ||face=="6" || face=="5" || face=="4" || face=="3" || face=="2"
)
this.face = face;
}
public void setSuit(String suit)
{
if(suit=="黑桃" || suit=="红桃" || suit=="梅花" || suit=="方块" )
this.suit = suit;
}
protected String getFace()
{
return face;
}
protected String getSuit()
{
return suit;
}
public String toString()
return (suit+face);
{
}
}
Test3 主函数:
package until3;
public class Test3 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Crad c = new Crad();
c.setSuit("红桃");
c.setFace("A");
System.out.println(c.toString());
}
}
运行结果: