(2)开放式程序设计(40分)
设计一个Person类模拟人类的属性和行为,并围绕该类,结合实际设计一系列类组成一个应用实例,要求充分使用注释,且至少用到以下知识点中的6个:
1)方法重载 2)方法重写 3)成员变量隐藏 4)继承
5)抽象类 6)接口 7)匿名内部类 8)异常类
9)正则表达式 10)容器类 11)线程 12)文件流
二、开放式程序设计部分(40分):
1、作品设计思路合理。 (20分)
2、运用到了题目中的至少6个知识点。 (10分)
2、注释运用充分规范合理。 (5分)
3、类的设计能体现面向对象的思想。 (5分)
(本部分按上述标准评分,各项具体分值由作品相应完成情况而定)
以上是我本学期java课程的期末大作业。我很开心的放飞自我了。首先决定写一个故事,一个狗血的故事。第一步,定义一个person类
/*写一个person类【抽象】,
* 一男一女:(基本信息)-名字,性别,年龄,身高等
* 【继承】【成员变量隐藏】【方法重写】【方法重载】
* 双方在圣诞节那天约会,
* 女的圣诞树下等人,一直打电话发消息【正则表达式】
* 然而男的不出现,只收到一个短信--分手
* 放背景音乐--分手快乐【异常类】
*/
/**
*
* 抽象类
* @author poision
*
*/
public abstract class Person{
private String name;//名字
private String sex;//性别
private String age;//年龄
private String height;//身高
private String career;//职业(学生,白领等)
public Person()
{
super();
}
public Person(String name, String sex, String age, String height, String career) {
super();
this.name = name;
this.sex = sex;
this.age = age;
this.height = height;
this.career = career;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getHeight() {
return height;
}
public void setHeight(String height) {
this.height = height;
}
public String getCareer() {
return career;
}
public void setCareer(String career) {
this.career = career;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
/**
* 约会
*/
public abstract void date();
/**
* 吃饭
*/
public abstract void eat();
}
然后就是杂七杂八得了
简单的就是说Girl类继承person类,运用成员变量隐藏,方法重写。+一个为了凑知识点的接口
/**
*
* 继承
* 方法重写
* 成员变量隐藏
* @author posion
*
*/
public class Girl extends Person implements Draw{
public Girl() {
super();
}
String id;//学号
String school;//学校名字
//public Girl(String name, String sex, String career,String age) {
public void set(String num,String sname)
{
id = num;
school = sname;
}
@Override
public void draw() {
// TODO Auto-generated method stub
}
@Override
public void date() {
// TODO Auto-generated method stub
}
@Override
public void eat() {
// TODO Auto-generated method stub
}
}
/**
* 会画画接口
*/
public interface Draw{
/**
*
* 画画
*
*/
public void draw();
}
最后一个是智障的放飞自我。。。。我估计我交作业要被打回来
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* 正则表达式-电话,邮箱
* @author poision
*
*/
@SuppressWarnings("unused")
public class Story {
public static void main(String[] args) {
// TODO Auto-generated method stub
Girl a = new Girl();//定义一个故事的主人公
a.setName("陈小希");
a.setSex("女");
a.setAge("18");
a.setHeight("158cm");
a.setCareer("学生");
a.id = "12345";
a.school = "晨曦中学";
Calendar calender = Calendar.getInstance();//创建时间对象
calender.setTime(new Date());//初始化日历时间
String year = String.valueOf(calender.get(Calendar.YEAR)); //获取年
String month = String.valueOf(calender.get(Calendar.MONTH) + 1); //获取月份,0表示1月份
String day = String.valueOf(calender.get(Calendar.DAY_OF_MONTH)); //获取当前天数
String week = String.valueOf(calender.get(Calendar.DAY_OF_WEEK)-1);//获取当前星期
int hour = calender.get(Calendar.HOUR_OF_DAY); //获取当前小时
int min = calender.get(Calendar.MINUTE); //获取当前分钟
int second = calender.get(Calendar.SECOND); //获取当前秒
System.out.println(""+year+"年"+ month + "月"+ day + "日" + "星期" +week+" "+ hour+":"+min +":" + second);
System.out.println(" ,~, ");
System.out.println(" ))) "+a.getName());
System.out.println(" ((((*** "+a.getSex());
System.out.println(" \\) \\/ "+a.getAge());
System.out.println(" / \\ "+a.getHeight());
System.out.println(" / \\ "+a.getCareer());
System.out.println(" / \\ "+a.id);
System.out.println(",`_,`_,`_,` "+a.school);
System.out.println("\n陈小希约江城圣诞节约会,陈小希8点就在圣诞树下等\n");
for(int i = 0;i<10;i++) {
System.out.println("\n");
}
System.out.println("°★.☆° .★·°∴°★.°·∴°☆ ·°∴° ☆..·");
System.out.println("☆°★°∴°°∴ ☆°.·★°∴°.☆°★°∴°°∴ ☆°.·★°∴°");
System.out.println(" ◢◣。 ◢◣。");
System.out.println(" ◢★◣。 ◢★◣。 ");
System.out.println(" ◢☆■☆◣。 ◢☆■☆◣。");
System.out.println(" ◢■■■■■◣。 ◢■■■■■◣。");
System.out.println("︸︸︸||︸︸︸!!︸︸︸||︸︸︸ ");
System.out.println("☆°★°∴°°∴ ☆°.·★°∴°.☆°★°∴°°∴ ☆°.·★°∴°");
System.out.println("°★.☆° .★·°∴°★.°·∴°☆ ·°∴° ☆..·.");
System.out.println("晚上11点,江辰也没来");
String regex1 = "^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$";//验证邮箱的正则表达式
String jc1 = "11111111@qq.com";
if(jc1.matches(regex1)) {//匹配是否符合邮箱的正则表达式
System.out.println("陈小希向江辰发消息");
for(int i = 0,n=0;i<10;i++) {
n++;
System.out.println(n+"s");
}
System.out.println("你的消息已发送\n\n叮咚~\n");
}
System.out.println("还是毫无反应\n\n陈小希给江辰打电话");
String regex2 = "^((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,1,2,5-9])|(177))\\d{8}$";//电话的正则表达式
String jc2 = "13988888866";
if(jc2.matches(regex2)) {//匹配是否符合电话号码的正则表达式
for(int i = 0,n=0;i<30;i++) {
n++;
System.out.println("du..嘟...");
}
System.out.println("你好你拨打的用户无人接通,请稍后再拨!\n");
System.out.println("最后江辰发短信:陈小希,我们分手吧!");
Music p=new Music();
p.play();//播放背景音乐
System.out.println("﹏正在播放:圣诞节﹏");
}
}
}
播放背景音乐的是copy别人的= =。。这个这个就靠个人发挥了。
我的处女秀就这样完了,江辰跟陈小希也分手了~悄咪咪的撤退~