收藏 分销(赏)

年份闰年的判断及星座性格查看.doc

上传人:仙人****88 文档编号:11740105 上传时间:2025-08-11 格式:DOC 页数:11 大小:467.50KB 下载积分:10 金币
下载 相关 举报
年份闰年的判断及星座性格查看.doc_第1页
第1页 / 共11页
年份闰年的判断及星座性格查看.doc_第2页
第2页 / 共11页


点击查看更多>>
资源描述
淮海工学院计算机工程学院 实验报告书 课程名: 《面向对象程序设计》 实验名称:年份闰年的判断及星座性格查看 竞猜游戏 班 级: 软件081 学 号: 110831123 姓 名: XX 评语: 成绩: 指导教师: 批阅时间: 年 月 日 《 面向对象程序设计 》实验报告 - 10 - 一、目的与要求 (1) 了解Java开发工具:认识J2SE开发环境,对TextPad、JCreator、NetBeans、Eclipse等开发工具有初步的了解,能够利用以上的某一种开发工具编写调试简单的 Java Application 和Applet程序,了解Java程序的编辑、编译和运行过程。 (2) 学会简单Java程序设计:掌握Java的数据类型、变量、数组、表达式、流程控制语句的使用,并能编写Java Application和Applet,正确运用变量、表达式和流程控制语句,对字符、图形界面下的输入、输出有初步的体验。 要求: 二、实验内容或题目 1、 编写一个Java Apple程序,随机生成或任意输入一个日期数据,判断是否闰年,并算出是周几,或判断对应的星座与性格; 2、以2010年春节晚会为主题,编写一个图文并茂的竞猜游戏,用图形界面的Java Application程序实现。 三、实验步骤与源程序 第一题: import java.applet.*; //加载applet包 import java.awt.*; //加载图形界面设计要用是抽象窗口工具包 import java.awt.event.*; //加载图形界面下响应事件的包 import javax.swing.*; //加载swing包(图形用户界面) public class MyJavaApplet extends Applet implements ActionListener ////一定一个继承了Applet的公共类,并实现动作事件接口 { Panel pBottom=new Panel(); //下(南)部定义一个放一按钮的面板容器 Label prompt; //定义一个标签 TextField year,month,day,output; //定义四个文本框 Button bt1,bt2; //定义两个按钮 int y,m,j,d; //定义年月日,j表示是否是闰年 Image myImage; //定义图片 public void init() //实现Applet的init方法,初始化界面 { myImage = new ImageIcon("x.jpg").getImage(); //最初显示的图片 prompt=new Label("请在方框中分别输入年、月、日:"); year=new TextField(6); //表示年的文本框 month=new TextField(6); //表示月的文本框 day=new TextField(6); //表示天的文本框 output=new TextField(95); //输出文本框 bt1=new Button("是否是闰年"); bt2=new Button("看看星座性格"); add(prompt); //将显示的题目的标签加入到面板中 pBottom.add(output); //将输出文本框加入到面板中 add(year); //将年的文本框加入到面板中 add(month); //将月的文本框加入到面板中 add(day); //将天的文本框加入到面板中 add(bt1); //将按钮1的文本框加入到面板中 add(bt2); //将按钮2的文本框加入到面板中 add(pBottom,BorderLayout.SOUTH); //将按钮面板放在整个界面的下(南)部 //为按钮注册事件监听器 bt1.addActionListener(this); bt2.addActionListener(this); setBackground(Color.green); setSize(700,450); //设置界面宽度、高度 } public void paint(Graphics g) { g.drawImage(myImage,200,100,300,300,this); //显示图片,参数表示图片宽度、高度 } public void actionPerformed(ActionEvent e) //实现动作事件接口的方法 { //将年月日转换为数型 y=Integer.parseInt(year.getText()); m=Integer.parseInt(month.getText()); d=Integer.parseInt(day.getText()); if(e.getSource()==bt1) //如将按钮1按下 {//判断是否为闰年 if((y%4==0&&y%100!=0)||y%400==0) { j=1; //是闰年则赋予1 output.setText(year.getText()+"是闰年!"); } else { j=0; //不是闰年则赋予0 output.setText(year.getText()+"不是闰年!"); } } if(e.getSource()==bt2) //如将按钮2 按下 {//对应每个星座并输出 if((m==3&20<d)|(m==4&d<20)) { output.setText("生于该天的人为白羊座,性格:可用一句话每坚强来代表。不论面对任何事情,都会全力以赴白羊的羊角正可用来说明这种个性。 "); myImage = new ImageIcon("白羊座.jpg").getImage(); //插入图片 repaint(); } if((m==4&d>19)|(m==5&d<21)) { output.setText("生于该天的人为金牛座,性格:金牛座的性格就像牛一般,处世相当慎重,但在另一方面也很顽固,只要一发起脾气来,往往没有人能够阻止"); myImage = new ImageIcon("金牛座.jpg").getImage(); //插入图片 repaint(); } if((m==5&d>20)|(m==6&d<22)) { output.setText("生于该天的人为双子座,性格:在性格方面的最大特征便是具有极敏锐的观察力,然而另一方面来说,也就犯了样样都懂,却样样不精的毛病。 "); myImage = new ImageIcon("双子座.jpg").getImage(); //插入图片 repaint(); } if((m==6&d>21)|(m==7&d<23)) { output.setText("生于该天的人为巨蟹座,性格:巨蟹座的性格可用一句话来表示充满母爱。感情丰富,对事物的感受性强。"); myImage = new ImageIcon("巨蟹座.jpg").getImage(); //插入图片 repaint(); } if((m==7&d>22)|(m==8&d<23)) { output.setText("生于该天的人为狮子座,性格:狮子座的人,性格相当于百兽之王的狮子,坚强、可靠、骄傲、宽大。"); myImage = new ImageIcon("狮子座.jpg").getImage(); //插入图片 repaint(); } if((m==8&d>22)|(m==9&d<23)) { output.setText("生于该天的人为处女座,性格:处女座的人,正是人如其名,具有纯洁、洁癖及正义感。处女座的人最讨厌不合理的事。"); myImage = new ImageIcon("处女座.jpg").getImage(); //插入图片 repaint(); } if((m==9&d>22)|(m==10)&d<23) { output.setText("生于该天的人为天枰座,性格:对于善恶两极端的想法、保持着很平衡的状态,这是天秤座的个性。"); myImage = new ImageIcon("天枰座.jpg").getImage(); //插入图片 repaint(); } if((m==10&d>22)|(m==11&d<22)) { output.setText("生于该天的人为天蝎座,性格:天蝎座的人的性格,表面上看似十分静,内心似乎充满着用不完的充沛活动力。"); myImage = new ImageIcon("天蝎座.jpg").getImage(); //插入图片 repaint(); } if((m==11&d>21)|(m==12&d<22)) { output.setText("生于该天的人为射手座,性格:射手座的人大方而无拘无束,精力充沛,好争论,脾气急躁,对权位有野心,对受磨难及压迫的人有慈悲的心肠。"); myImage = new ImageIcon("射手座.jpg").getImage(); //插入图片 repaint(); } if((m==12&d>21)|(m==1&d<20)) { output.setText("生于该天的人为魔蝎座,性格:摩羯座常给人一种严肃无趣的刻板印象,一切都从最现实的观点出发,脚踏实地的从零做起,并追求实实在在的结果。"); myImage = new ImageIcon("魔蝎座.jpg").getImage(); //插入图片 repaint(); } if((m==1&d>19)|(m==2&d<19)) { output.setText("生于该天的人为水瓶座,性格:水瓶座的人颇富知性,且具有锐利的观察力、推测能力、以及富有冒险的开拓精神。"); myImage = new ImageIcon("水瓶座.jpg").getImage(); //插入图片 repaint(); } if((m==2&d>18)|(m==3&d<21)) {//判断是否会有该天 if((j==1&m==2&d>29)|(j==0&m==2&d>28)) { output.setText("该年2月会有这天吗?"); myImage = new ImageIcon("yw.jpg").getImage(); //插入图片 repaint(); } else { output.setText("生于该天的人为双鱼座,性格:双鱼座的人,因性格比较脆弱,不太坚定,所以,有时太忠厚老实,容易受别人的连累。"); myImage = new ImageIcon("双鱼座.jpg").getImage(); //插入图片 repaint(); } } //判断是否会有该天 if((m<8&d%2!=0&d>31)|(m<8&d%2==0&d>30)|(m>7&d%2!=0&d>30)|(m>7&d%2==0&d>31)) { output.setText("该年会有这天吗?"); myImage = new ImageIcon("yw.jpg").getImage(); //插入图片 repaint(); } } } } 第二题: import java.awt.*; //加载图形界面设计要用是抽象窗口工具包 import java.awt.event.*; //加载图形界面下响应事件的包 import javax.swing.*; //加载swing包(图形用户界面) public class JavaAppGraphicsInOut extends Frame implements ActionListener { Panel pNorth=new Panel(); //上(北)部定义一个放题目和答案输入框的面板容器 Panel pSouth=new Panel(); //下(南)部定义一个放一排按钮的面板容器 Panel pCenter=new Panel(); //中部定义一个放图片是面板容器 Image myImage; Button btStart,btOk,btCancel,btCloose; //定义四个按钮 Label prompt=new Label(" 2010年春节晚会竟猜");; TextField input=new TextField(10),output=new TextField(25);//定义两个文本框,一个用于输入,一个用于输出 private String people="小虎队"; //设定的答案 public JavaAppGraphicsInOut() { super("图形界面的Java Application程序"); //设置窗体标题 myImage = new ImageIcon("cw.jpg").getImage(); this.setLayout(new BorderLayout()); //设置当前整个界面为BorderLayout(东南西北中型)的布局编辑器 pNorth.add(prompt); //将显示题目的标签加入上部面板 pNorth.add(input); //将输入答案的文本框加入上部面板 pNorth.add(output); //将判断答案的文本框加入上部面板 add(pNorth,BorderLayout.NORTH); //将问答题面板放在整个界面的上(北)部 Image myImage; //定义几个按钮 btStart=new Button("开始游戏"); btOk=new Button("确定"); btCancel=new Button("取消"); btCloose=new Button("关闭"); //为按钮注册事件监听器 btStart.addActionListener(this); btOk.addActionListener(this); btCancel.addActionListener(this); btCloose.addActionListener(this); //将按钮加载到窗体中 pSouth.add(btStart); pSouth.add(btOk); pSouth.add(btCancel); pSouth.add(btCloose); add(pSouth,BorderLayout.SOUTH); //将按钮面板放在整个界面的下(南)部 setSize(800,600); //设置窗体宽高 setVisible(true); //让窗体可见 } public void paint(Graphics g) { g.drawImage(myImage,40,20,this); //显示图片,参数表示图片宽度、高度 } public void actionPerformed(ActionEvent evt) //实现动作事件接口的方法 { if(evt.getSource()==btStart) //判断是否“开始游戏”按钮被按下 { prompt.setText("2010春晚的歌舞类获一等奖的是谁?"); //设置标签提示文字 } else if(evt.getSource()==btOk) //判断是否 “确定”按钮被按下 { if(input.getText().equals("小虎队")) //判断是否是正确答案 { output.setText("恭喜!答对了!送你个小礼物吧"); //输出“恭喜!答对了!” myImage = new ImageIcon("lw.jpg").getImage(); repaint(); } else { output.setText("答错了,再试一次吧!"); //输出"答错了,再试一次吧!" myImage = new ImageIcon("bs.jpg").getImage(); repaint(); } } else if(evt.getSource()==btCancel) //判断是否“清除”按钮被按下 { input.setText(""); //将答案输入框清空 output.setText(""); //将判断正确与否框清空 } else if(evt.getSource()==btCloose) //判断是否“关闭”按钮被按下 { System.exit(0); //系统正常退出,如果参数是1,则为异常退出 } } public static void main(String ar[]) { new JavaAppGraphicsInOut(); //构造一个新窗体对象 } } 四、测试数据与实验结果(可以抓图粘贴) 第一题中:输入年月日,点“是否是闰年”判断是否为闰年,如下图: 点按钮“看看星座性格”,查看生于该天的人星座性格,见下图: 如输入年份不规范,则下图说所示: 第二题: 初始界面见下图,点开始游戏进行竞猜: 如答错,则会有提示信息,并换张图片: 如答对,则会提示领奖品,答对时,奖品自动弹出: 五、结果分析与实验体会 第一次JAVA程序编程,还有很多不足,两个程序其实都有同一特点,就是在每按一个按钮都会有不同的图片显示,增加视觉效果。在第一题中,不足的是,星座定值没有放入数组中,还有判断年份输入规范与否没有用老师说的系统自动判断的方法,主要是并不知道系统有哪些自带程序可以直接调用,这还需要我自己认真钻。第二题竞猜中,跟老师程序有所不同,奖品并没有单独设定个按钮,而是只要答对就会弹出奖品的图片。 虽然这次做的不是很完美,但毕竟是自己写的,也学习了不少,最大的疑问就是系统到底自带哪些可直接执行的函数方法。自己也会加倍努力学习的。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 星座/运势/风水

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服