已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
a/b/c/da/b/c/d班级号_学号_姓名_题号.java(多文件应压缩为rar):实验1: 熟悉上机环境,编写并运行简单的java程序(3学时)实验目的(1) 熟悉Java程序开发环境(2) 熟悉Java Application和Applet程序的结构及开发步骤(3) 熟练掌握if语句的使用(4) 掌握Math.sqrt()等常用数学函数的用法(5) 熟悉System.out.print()的用法实验内容及要求按Java Application和Applet两种方式分别编写程序,求一元二次方程ax2+bx+c=0的根(系数在程序中给定),并输出。1、public class wyy public static void main (String w) float a=1,b=5,c=3,d=0,t=0; float k=0,j=0; k=b*b-4*a*c; j=(float)Math.sqrt(float)k); d=(-b+j)/4*a*c; t=(-b-j)/4*a*c; if(k0) System.out.println(第一个根为:+d); System.out.println(第二个根为:+t); else if(k=0) System.out.println(有一个根+d); 2、import java.awt.*;import java.applet.*;public class wyy1 extends Applet public void paint (Graphics g) float a=1,b=5,c=3,d=0,t=0; float k=0,j=0; k=b*b-4*a*c; j=(float)Math.sqrt(float)k); d=(-b+j)/4*a*c; t=(-b-j)/4*a*c; if(k0) g.drawString(第一个根为:+d,50,50); g.drawString(第二个根为:+t,50,100); else if(k=0) g.drawString(有一个根+d,50,50); 3、/import java.io.*;/*一元二次方程求解其根*/import java.util.*;public class wyy public static void main (String w) Scanner r=new Scanner(System.in); float a,b,c,d=0,t=0; float k=0,j=0,h,f,s; System.out.println(请输入a:);/Scanner 输入a的值 a=(int)r.nextInt(); System.out.println(请输入b:);/Scanner 输入b的值 b=(int)r.nextInt(); System.out.println(请输入c:);/Scanner 输入c的值 c=(int)r.nextInt(); System.out.println(方程式为:+a+x2+b+x+c);/显示方程式 /*求根*/ k=b*b-4*a*c; j=(float)Math.sqrt(float)k); d=(-b+j)/2*a; t=(-b-j)/2*a; if(k0)/求实根 System.out.println(有两个实根,这两个实根为:); System.out.println(第一个根为:x1=+d); System.out.println(第二个根为:x2=+t); else if(k=0) System.out.println(有两个相同实根,这个实根为:); System.out.println(有一个根:x=+d); 思考并验证(1) 分别给定以下几组系数,给出输出结果 a=1,b=5, c=3 a=4, b=4, c=1a=2, b=3, c=2: + i + i(2) 如果程序的public类的类名和源文件的文件名不一样会有什么问题?(3) 将类的public修饰去掉是否可行?接着再将类名换为其它是否可行?这说明了什么?不可以(4) 将程序中main前面的public去掉,重新编译执行你的程序,你看到了什么信息?main method not public(5) 将程序中main前面的static去掉,重新编译执行你的程序,你看到了什么信息?为什么?Fatal exception occurred. Program will exit.(6) 本次上机中,你还遇到了什么问题,是如何解决的?班级号_学号_姓名_题号.java(多文件应压缩为rar):实验2:控制流程1(3学时)实验目的(1) 进一步熟悉使用if语句(2) 掌握循环语句实现循环的方法实验内容及要求输出时,只使用下面的语句:System.out.print(“ ”); /输出一个空格,并且不换行System.out.print(“*”); /输出一个字符*,并且不换行System.out.print(“+”); /输出一个字符+,并且不换行System.out.println(“*”;) /输出一个字符*,并换行编写程序输出(注:在图形的中心处有一个加号+):* * * * * * * * * + * * * * * * * * * *public class 图形 public static void main(String args) int i,j,k; for(i=0;i=2;i+) for(j=0;j=2-i;j+) System.out.print( ); for(k=0;k=2*i;k+) System.out.print(*); System.out.print(n); for(i=0;i7;i+) if(i3) System.out.print(*); System.out.print(n); for(i=0;i=2;i+) for(j=0;j=i;j+) System.out.print( ); for(k=0;k=4-2*i;k+) System.out.print(*); System.out.print(n); 思考并验证下面程序片段给出了从键盘输入一个整数的方法:import java.io.*;InputStreamReader ir;BufferedReader in;ir=new InputStreamReader(System.in);in=new BufferedReader (ir);try String s=in.readLine();int i=Integer.parseInt(s);/转换成整形catch(IOException e)(1) 如何修改程序,使得输出的图形可以很方便的在水平方向上移动?import java.util.*;public class wyy1 public static void main(String args) Scanner r=new Scanner(System.in);int i,j,k,a,b; System.out.print(请输入平移量a:);a=r.nextInt();/System.out.print(请输入行数b:);/b=r.nextInt(); for(i=0;i=2;i+) for(j=0;j=2-i+a;j+) System.out.print( ); for(k=0;k=2*i;k+) System.out.print(*); System.out.print(n); for(j=0;ja;j+) System.out.print( ); for(i=0;i7;i+) if(i3) System.out.print(*); System.out.print(n); for(i=0;i=2;i+) for(j=0;j=i+a;j+) System.out.print( ); for(k=0;k=4-2*i;k+) System.out.print(*); System.out.print(n); (2) 如何修改你的程序,按输入行数n(为奇数)输出图形?import java.util.*;public class wyy1 public static void main(String args) Scanner r=new Scanner(System.in);int i,j,k,a,b; System.out.print(请输入平移量a:);a=r.nextInt();System.out.print(请输入行数b:);b=r.nextInt(); for(i=0;i=b/2-1;i+) for(j=0;j=b/2-1-i+a;j+) System.out.print( ); for(k=0;k=2*i;k+) System.out.print(*); System.out.print(n); for(j=0;ja;j+) System.out.print( ); for(i=0;ib;i+) if(ib/2) System.out.print(*); System.out.print(n); for(i=0;i=b/2-1;i+) for(j=0;j=i+a;j+) System.out.print( ); for(k=0;k=b-3-2*i;k+) System.out.print(*); System.out.print(n); 选作:编程求支付方法的种数:取1元,2元,5元纸币10张,付给18元,有几种办法?import java.util.*;Scanner r=new Scanner(System.in);r.nextInt(); r.nextDouble();(C+版)#includeint main() int x,y,z,counter=0; for(x=0;x10;x+) for(y=0;y10;y+) for(z=0;z10;z+) if(x+y+z)=10&(5*x+2*y+z)=18) counter+; coutcounterendl;return 0;public class wyy public static void main(String args) int x,y,z,counter=0; for(x=0;x10;x+) for(y=0;y10;y+) for(z=0;z10;z+) if(x+y+z)=10&(5*x+2*y+z)=18) counter+; System.out.println(回文数共有:+counter+个!); 班级号_学号_姓名_题号.java(多文件应压缩为rar):实验3:控制流程2(3学时)实验目的(1) 掌握数据类型的含义(2) 掌握break语句的使用(3) 掌握用三种循环语句实现循环以及循环嵌套的方法实验内容及要求编程,计算112233+66import java.util.*;/import java.awt.*;public class wyy1public static void main(String args) Scanner r=new Scanner(System.in);double sum=0,h=0,n; System.out.println(请输入n:);/Scanner 输入a的值 n=r.nextInt();for(int i=1,j=1;i=n;i+,j+)h=(double)Math.pow( i,j);sum=sum+h;System.out.println(sum=+sum); 思考并验证(1) 将内层循环改为另一种循环语句,比较哪种循环语句更适用于本程序?(2) 修改程序使之计算112233+2020,你的程序能得出正确结果吗?若不能,应如何修改?import java.util.*;/import java.awt.*;public class wyy2public static void main(String args) Scanner r=new Scanner(System.in);double sum=0,h=1,n; System.out.println(请输入n:);/Scanner 输入a的值 n=r.nextInt();for(int i=1;i=n;i+) for(int j=1;j=i;j+)h=h*i;sum=sum+h;h=1;System.out.println(sum=+sum); (3) 考虑如何通过使用break语句修改这个程序,求出最大值n,使得1122+nn小于等于long数据类型所能表示的最大值(即Long.MAX_VALUE),并给出1122+nn的确切值。import java.util.*;/import java.awt.*;public class bpublic static void main(String args) /Scanner r=new Scanner(System.in);double sum=0,h=1,n=0;/ System.out.println(请输入n:);/Scanner 输入a的值 /n=r.nextInt();for(int i=1;i+) for(int j=1;j=i;j+)h=h*i;sum=sum+h;h=1;if(sum-Long.MAX_VALUE)0)n+;else break;System.out.println(sum=+(n+1); 选作:求有几组和为1000的连续正整数,并输出这些整数。加一实验,进行递归程序设计,并用迭代进行改写。思考递归与迭代的关系。 班级号_学号_姓名_题号.java(多文件应压缩为rar):实验4 继承、多态(接口和包)(3学时)实验目的(1) 掌握Java语言中继承和多态的相关概念(2) 掌握Java程序设计中继承和多态机制的使用(3) 掌握Java语言中接口和包的概念及使用实验内容及要求仿真农场一个哺乳动物类如下所示:public class Mammalprotected int age = 2;protected int weight = 5;public Mammal()System.out.println(“Mammal constructor”);int getAge()return age;void setAge(int a)age = a;int getWeight()return weight;void setWeight(int w)weight = w;void move()System.out.println(“Mammal move one step”);void speak()System.out.println(“Mammal speak!”);void sleep()System.out.println(“shhh, Im sleeping.”);狗属哺乳动物,且它的属性有品种之分(在哺乳类基础上增加品种数据成员),叫声区别于其他动物(输出“Woof!”),还会摇尾巴(增加成员函数,输出“Tail wagging”),乞讨食物(增加成员函数,输出“begging for food”)。猫、马、猪也属于哺乳动物,其叫声分别为:“Meow!”,“Winnie!”,“Oink!”。编程分别使各个动物表现为不一样的行为。要求将所有的动物类放置于animal.mammal包下。定义两个新的类,表示宠物猫和宠物狗。要求:这两个类能输出宠物所属的主人,价格等信息;将这两个类放置于animal.mammal.pet包下。package animal.mammal;import java.lang.*;public class Mammal protected int age = 2;protected int weight = 5;String dog=dog;String pig=pig;String cat=cat;String horse=horse;public Mammal()System.out.println(Mammal constructor);int getAge()return age;void setAge(int a)age = a;int getWeight()return weight;void setWeight(int w)weight = w;void move()System.out.println(Mammal move one step);void speak()System.out.println(Mammal speak!);void sleep()System.out.println(shhh, Im sleeping.);void animal(String animal)if(animal=dog)System.out.println(wangwang);if(animal=pig)System.out.println(miao);if(animal=cat)System.out.println(gaga);if(animal=horse)System.out.println(aa);/package animal.mammal;public class animal /* * param args */public static void main(String args) / TODO 自动生成方法存根 Mammal animal = new Mammal(); String ani=horse; animal.move(); animal.animal(ani);思考并验证(1) 在程序中的哪些地方使用到了多态的机制?多态性为我们带来了什么好处?(2) 试着把源文件放到另外一个目录下,然后编译,看看会得到什么信息?为什么会出现这种情况?(3) 在定义宠物类的时候,是否使用了接口?如果没有使用,该定义一个什么接口,并如何修改程序?接口的使用为程序带来了什么好处?班级号_学号_姓名_题号.java(多文件应压缩为rar):实验5: JApplet(3学时)实验目的(1) 掌握Java Applet程序的结构和运行机制(2) 掌握Java Applet程序的生命周期中触发的各种事件(3) 复习Java语言中类的继承与方法的重载机制实验内容及要求编写一个Applet程序,在窗体中分别绘制由*组成的正方形和圆,尽量保证*号之间的间距相等。如下图所示:* * * * * * * * * * * * * * * * * * * * * * * * * *import java.awt.*;import java.applet.*;public class circle extends Applet public void paint(Graphics g) int i,j; int m,n; int left; /正方形左边起始坐标 m=n=100; left=m; for(i=0;i5;i+)/用于绘制正方形的循环 for(j=0;j5;j+) g.drawString(*, m, n); m=m+10; n=n+10; m=left; 思考并验证(1) 思考一个方法,验证Applet程序运行的生命周期中init、start、stop、destroy、paint几个方法被调用的时机。实现这个方法,并给出验证的结果。/package com.imu;import java.awt.*;import java.applet.*;public class Aplet extends Applet StringBuffer buffer = new StringBuffer();public void init() public void start() addItem(程序启动);public void stop() public void destory() void addItem(String s) System.out.println(s);buffer.append(s);/ 将字符串输出在java console中repaint();void CirclePoints(int x0, int y0, int x, int y, Graphics g) g.drawString(*, x + x0, y + y0);g.drawString(*, y + x0, x + y0);g.drawString(*, -x + x0, y + y0);g.drawString(*, y + x0, -x + y0);g.drawString(*, x + x0, -y + y0);g.drawString(*, -y + x0, x + y0);g.drawString(*, -x + x0, -y + y0);g.drawString(*, -y + x0, -x + y0);void Square(int m, int n, Graphics g) g.drawString(绘制由*组成的正方形, 100, 80);int i, j;int left; / 正方形左边起始坐标left = m;m = n = 100;for (i = 0; i 5; i+)/ 用于绘制正方形的循环for (j = 0; j 5; j+) g.drawString(*, m, n);m = m + 10;n = n + 10;m = left;void MidPointCircle(int x0, int y0, int r, Graphics g) g.drawString(绘制有*组成的圆形, 300, 80);int x, y;float d;x = 0;y = r;d = (float) (1.25 - r);System.out.println( + d);while (x = y) if (d =0;i-,r=r-5)float d;x = 0;y = r;d = (float) (1.25 - r);System.out.println( + d);while (x = y) if (d 0)d = d + 2 * x + 3;else d = d + 2 * (x - y) + 5;y = y - 2;x = x + 2;CirclePoints(x0, y0, x, y, g);public void paint(Graphics g)g.drawString(buffer.toString(), 5, 15);MidPointCircle(350, 150, 50, g);(3) 谈一谈自己对Java Application程序与Applet程序之间区别的一些认识和看法。(4) 班级号_学号_姓名_题号.java(多文件应压缩为rar):实验6: 常用界面组件1(3学时)实验目的(1) 了解简单的GUI的设计方法(2) 熟悉标签、按钮等基本组件的用法(3) 熟悉文本框的用法(4) 掌握按钮等组件的事件处理方法(5) 熟悉字号的控制方式实验内容及要求如下图所示,当点击按钮时若输入文本框中的数正确,则标签文本显示正确,否则显示不正确。69正确15OK69正确15OK思考并验证(1) 若标签的字号比文本框中的字号大,应如何设置?import java.awt.*;import javax.swing.*;import java.awt.event.*;public class wyy1 extends JApplet implements ActionListener Container cp=getContentPane(); JLabel lb=new JLabel(6+9= ); JLabel lb2=new JLabel( ); JTextField tf1=new JTextField(3); JButton bt=new JButton(OK); public void init()lb.setFont(new Font(Arial,Font.PLAIN,24);setLayout(new FlowLayout();add(lb);add(tf1);add(lb2);add(bt);bt.addActionListener(this);setSize(150,200);setVisible(true);public void actionPerformed( ActionEvent e)if(e.getSource()=bt)String str=tf1.getText();if(str.equals(15) lb2.setText(正确);else lb2.setText(不正确);(2) 你的程序用到哪几个组件?(3) 能否去掉按钮”OK”,当输入回车时进行正确性显示?若能,应如何进行?班级号_学号_姓名_题号.java(多文件应压缩为rar):实验7: 常用界面组件2(3学时)实验目的(1) 掌握GridLayout类的用法(2) 掌握标签、文本框、按钮等图形界面组件的使用,掌握按钮等组件的事件处理方法(3) 理解Java的事件处理机制和委托事件模型,理解事件源、监听者等概念实验内容及要求设计一个简易计算器。在“操作数”标签右侧的两个文本框中输入操作数,当单击操作符、*、按钮时,对两个操作数进行运算并将结果填入到“结果”标签的右侧文本框中思考并验证(1) 画出程序运行效果图:import java.awt.*;import javax.swing.*;import java.awt.event.*;public class wyy1 extends JApplet implements ActionListener Container cp=getContentPane(); JLabel lb=new JLabel(操作数:); JTextField tf=new JTextField(1); JTextField tf1=new JTextField(1); JTextField tf2=new JTextField(1); JLabel lb2=new JLabel(=); JTextField tf3=new JTextField(1); JButton bt=new JButton(+); JButton bt1=new JButton(-); JButton bt2=new JButton(*); JButton bt3=new JButton(/); public void init() cp.setLayout(new GridLayout();add(lb);add(tf);add(tf1);add(tf2);add(lb2);add(tf3);add(bt);add(bt1);add(bt2);add(bt3);bt.addActionListener(this);bt1.addActionListener(this);bt2.addActionListener(this);bt3.addActionListener(this);setSize(300,200);setVisible(true); public void actionPerformed( ActionEvent e) double a=0,b=0,d=0; String c; a=Double.parseDouble(tf.getText(); c=tf1.getText(); b=Double.parseDouble(tf2.getText(); if(e.getSource()=bt) d=a+b; tf1.setText(+); tf3.setText(+d); if(e.getSource()=bt1) d=a-b; tf1.setText(-); tf3.setText(+d); if(e.getSource()=bt2) d=a*b; tf1.setText(*); tf3.setText(+d); if(e.getSource()=bt3) d=a/b; tf1.setText(/); tf3.setText(+d); if(e.getSource()=bt) tf1.setText(+); if(e.getSource()=bt1) tf1.setText(-); if(e.getSource()=bt2) tf1.setText(*); if(e.getSource()=bt3) tf1.setText(/); /if(e.getSource()=bt4) /tf3.setText(+d); (2) 在你的程序中谁是事件源,相应的监听者是谁?(3) 将程序中的嵌套if语句改写成switch语句,或反之。班级号_学号_姓名_题号.java(多文件应压缩为rar):实验8: 常用界面组件3(3学时)实验目的(1) 进一步了解简单GUI的设计方法(2) 进一步熟悉标签、按钮、文本框等基本组件的用法(3) 进一步掌握按钮等组件的事件处理方法(4) 掌握Math.random()的用法 double z1=Math.random(); System.out.print(z1=+(int)(z1*100);实验内容及要求猜数游戏:要求程序中有两个按钮,点击一个时可以获得一个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46395-2025纺织品评定绒类织物经洗涤后外观毡化的试验方法
- 2024年吉林辅警招聘考试真题附答案详解(培优)
- 2023年福州辅警协警招聘考试备考题库附答案详解(满分必刷)
- 2023年红河州辅警协警招聘考试真题含答案详解(预热题)
- 2023年铜梁县辅警协警招聘考试真题含答案详解(预热题)
- 2023年秦皇岛辅警协警招聘考试真题及答案详解(夺冠)
- 2024年中山辅警招聘考试真题附答案详解(综合卷)
- 2023年荣昌县辅警协警招聘考试真题含答案详解(完整版)
- 2024年大兴安岭辅警协警招聘考试备考题库及答案详解(必刷)
- 2024年南阳辅警招聘考试真题附答案详解(模拟题)
- 车钩减振降噪策略-洞察及研究
- 松江区2024-2025学年六年级上学期期中考试数学试卷及答案(上海新教材)
- 旅游景区综合建设融资投资立项项目可行性研究报告(中撰咨询)
- 东航java面试题及答案编程
- DB31/T 1120-2018城市地下道路交通标志和标线设置规范
- 规培医学生年度总结
- 《现代系统建模与仿真技术》课件
- 2025年烟花鞭炮购销合同范本
- 2025年共青团入团考试测试题库及答案
- 企业绿色供应链管理实践与案例分析
- 商业写字楼租赁合同范本
评论
0/150
提交评论