java实验答案_第1页
java实验答案_第2页
java实验答案_第3页
java实验答案_第4页
java实验答案_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 实验一水仙花数:class shuixianhua/水仙花数public static void main(String arg)int i,a,a1,b,b1,c;for(i=100;i<1000;i+) a=i%10; a1=i/10; b=a1%10; b1=a1/10; c=b1%10; if(i=(a*a*a+b*b*b+c*c*c) System.out.println(i); 输出如下:153370371407打印出100以内素数:public class sushu /* * param args */public static void main(String arg

2、s) / TODO Auto-generated method stubint i,j,k=0;for(i=2;i<100;i+)if(i=2)System.out.println(i);i+;for(j=2;j<i;j+)if(i%j!=0)k=1;if(k=1)System.out.println(i);求1!+2!+20!public class jiecheng public static void main(String args) int i,sum=0,k;for(i=1;i<=20;i+)k=ji(i); sum=k+sum; System.out.print

3、(sum);static int ji(int n) if(n=1)return 1;else return ji(n-1)*n;习题2.6public class Testpublic static void main(String args)/第19题,打出图形.菱形 int n=3; for(int i=1;i<=n;i+) for(int k=n-1;k>=i;k-) System.out.print(" "); for(int j=1;j<=2*i-1;j+)/打印* System.out.print("*"); System

4、.out.println(); 编写程序,命令行窗口输出希腊字母表。(希腊字母表开始为,最后一个为)import java.applet.*;import java.awt.*;public class myapplet extends Applet public void paint(Graphics g) String str="" for(char a=''a<''a+) str+=a; g.drawString(str, 2, 10); 实验二设计一个名为figure的图形软件包(package)。包中包含三角形、矩形、圆三个类

5、。要求:(1)每个类都要构造方法并为成员设置get和set方法;(2)每个类都要有计算周长和面积的成员方法;(3)完成该软件包后的编码后,在另一个包的含有main方法的类中编写代码,分别使用图形软件包中的三个类,生成三个对象,并打印出其周长和面积。Triangle.javapackage figure;public class Triangleprivate double a,b,c; public Triangle(double x,double y,double z)a = x;b = y;c = z;public void get()public void set(double x,do

6、uble y,double z)a = x;b = y;c = z;public double Perimeter()double per = a + b + c; return per;public double Area()double area = 0;double p=(a+b+c)/2;double s = p*(p-a)*(p-b)*(p-c);area = (double)Math.sqrt(s);return area;Rectangle.javapackage figure;public class Rectangleprivate double length;private

7、 double width;public Rectangle(double l,double w)length = l;width = w;public void get()public void set(double l,double w)length = l;width = w;public double Perimeter()double per = 2*(length + width); return per;public double Area()double area = length * width;return area;Circle.javapackage figure;pu

8、blic class Circleprivate double r;private double PI = 3.14;public Circle(double x)r = x;public double get() return r;public void set(double x)r = x;public double Perimeter()double per = 2*(PI * r); return per;public double Area()double area = PI*(double)Math.pow(r,2);return area;figureTest.javapacka

9、ge Test;import figure.Circle;import figure.Rectangle;import figure.Triangle;public class figureTestpublic static void main(String args)Circle c =new Circle(3.2);System.out.println(c.Area();System.out.println(c.Perimeter();Rectangle r = new Rectangle(3,4);System.out.println(r.Area();System.out.printl

10、n(r.Perimeter();Triangle t = new Triangle(3,4,4);System.out.println(t.Area();System.out.println(t.Perimeter();编写类Factorial,为其添加两个静态方法(方法名自定义)。其中一个使用递归计算n的阶乘,一个使用非递归计算n的阶乘。构造main方法进行测试。public class Fac public static void main(String args) int n = 5;long fac = digui(n);long fac2 = nonDigui(n);/循环方法pri

11、vate static long nonDigui(int n) long fac = 1L;for(int i = 1; i<=n ;i+)fac = fac * i;return fac;/递归private static long digui(int n) if(n = 1)return 1;return n * digui(n-1);按照要求使用Java进行编码。1) 设计一个教师类Teacher,属性有编号(no)、姓名(name)、年龄(age)、所属学院(seminary),为这些属性设置相应的get和set方法;2) 为Teacher类添加方法equals;(当两个教师对

12、象的no相同时返回true)3) 为Teacher类添加方法toString,通过该方法可以返回“编号为*、姓名为*、年龄为*的*学院老师”形式的字符串。4) 构造main方法进行测试。Teacher.javapublic class Teacher public static int num; public int no; public String name; public int age; public String seminary; public Teacher() super(); public Teacher(int no, String name, int age, Strin

13、g seminary) super(); this.no = no; = name; this.age = age; this.seminary = seminary; public static int getNum() return num; public static void setNum(int num) Teacher.num = num; public int getAge() return age; public void setAge(int age) this.age = age; public String getName() return name;

14、 public void setName(String name) = name; public int getNo() return no; public void setNo(int no) this.no = no; public String getSeminary() return seminary; public void setSeminary(String seminary) this.seminary = seminary; public boolean equals(Object otherObject)if (otherObject = null)re

15、turn false; if (getClass() != otherObject.getClass()return false; Teacher other = (Teacher) otherObject; return no = other.no;public String toString()return "编号:" + getNo() + "姓名:" + getName() + "年龄:" + getAge()+ "学院老师:"+ getSeminary();-TestTeacher.javapublic

16、class TestTeacher public static void main(String args) Teacher t1 = new Teacher(1,"zhangsan",43,"计算机"); System.out.println(t1.getNo(); System.out.println(t1.getName(); System.out.println(t1.getAge(); System.out.println(t1.getSeminary(); System.out.println("t1.toString():&quo

17、t; + t1); t1.setName("wangwu"); t1.setAge(50); t1.setSeminary("国际经贸"); System.out.println(t1.getNo(); System.out.println(t1.getName(); System.out.println(t1.getAge(); System.out.println(t1.getSeminary(); Teacher.setNum(Teacher.getNum() + 1); System.out.println(Teacher.getNum(); T

18、eacher t2 = new Teacher(2,"lisi",44,"经管"); Teacher.setNum(Teacher.getNum() + 1); System.out.println(Teacher.getNum(); Teacher t3 = new Teacher(3,"zhouwu",45,"信息"); Teacher.setNum(Teacher.getNum() + 1); System.out.println(Teacher.getNum();System.out.println(t2)

19、设计一个带表头的单链表(链表中的元素属于同一类型对象,但对象的类型可以随意),提供以下操作:(1)insert:在某个位置插入对象;(2)delete:在某个位置删除对象;(3)delete:删除链表中与x相同的元素;(4)size:返回当前链表中对象的个数;(5)isEmpty:判断链表是否为空;(6)traverse:遍历链表,打印出所有的元素;(7)getData:取得某个位置的对象。构造main函数进行测试。public class Code private int data;private Code next;public int getData() return data;publ

20、ic void setData(int data) this.data = data;public Code getNext() return next;public void setNext(Code next) this.next = next;public class List public Code head;List()this.head=new Code();head.setData(0);List(int n)this.head=new Code();Code p,temp;p=head;for(int i=0;i<n;i+)temp=new Code();temp.set

21、Data(i+1);p.setNext(temp);p=p.getNext();head.setData(n);/判断是否为空public void IsEmptyList() if (this.head=NULL) System.out.println("空链表"); else System.out.println("非空");Public void I/遍历节点public void TraverseList()int Size=0;Code temp;temp=head;while(temp.getNext()!=null)Size+;temp=t

22、emp.getNext();System.out.println(temp.getData();System.out.println(Size);/删除节点public void DeleteCode(int n)if(n>head.getData()System.out.println("找不到第"+n+"个节点");return;Code temp;temp=head;for(int i=0;i<n-1;i+)temp=temp.getNext();temp.setNext(temp.getNext().getNext();head.se

23、tData(head.getData()-1);/插入节点public void InsertCode(int n,int d)if(n>head.getData()+1)System.out.println("找不到第"+n+"个节点");return;Code p=new Code();p.setData(d);Code temp;temp=head;for(int i=0;i<n-1;i+)temp=temp.getNext();p.setNext(temp.getNext();temp.setNext(p);public static

24、 void main(String args)List l=new List(5);l.rList();l.iCode(3,8);l.rList();l.dCode(4);l.rList(); 实验三1、按照要求使用Java进行编码。1) 编写一个抽象类Shape,其中有抽象方法getArea()和getPerimeter()2) 在Shape类的基础上派生出Rectangle和Circle类,二者都实现了计算面积的方法getArea()和计算周长的方法getPerimeter();构造main函数,生成Rectangle和Circle对象,并用Shape类型的变量调用Rectangle和Ci

25、rcle对象的getArea()和getPerim()方法。Shape.Javaimport java.io.*;public class Shape /* * param args * author * date Dec 4 */public static void main(String args) throws IOException float radius ; / 定义圆的周长 float a,b,c; / 定义三角形的三边长 float w,h; / 定义矩形的宽和长 int select; / 功能选项序号 BufferedReader buf = new BufferedRea

26、der(new InputStreamReader(System.in); String str; Graphics gp; while(true)/ 控制程序循环 PrintMenu(); while(true) str=buf.readLine(); try if(str.length()>1 | str.charAt(0)>52 | str.charAt(0)<48) System.out.print("输入不合法!请输入(0-3)的整数: "); continue; select=Integer.parseInt(str); while(selec

27、t > 3 | select <0) System.out.print("输入不合法!请输入(0-3)的整数: "); continue; break; catch(Exception ne) System.out.print("输入的不是(0-3)之间的整数,请重新输入: "); continue; switch(select)/ 处理用户要执行的功能 case 1: / 处理圆的情况 System.out.println("请输入圆的半径: "); while(true) try str=buf.readLine();

28、 radius = Float.parseFloat(str); /Circle circle =new Circle(radius); if(radius<=0) System.out.print("圆的半径应为大于0的实数,请重新输入圆的半径: "); continue; System.out.println("圆的半径为: " + radius); gp = new Circle(radius); gp.area(); gp.perimeter(); break;/ 退出循环 catch( NumberFormatException ne)

29、System.out.println("输入的数据不合要求!n请重新输入圆的半径: "); continue; break; case 2: / 处理矩形的情况 System.out.println("请输入矩形的长和宽"); while(true) try System.out.print("输入矩形的长 : "); str=buf.readLine(); w=Float.parseFloat(str); System.out.print("输入矩形的宽 : "); str=buf.readLine(); h=F

30、loat.parseFloat(str); if(w<=0) | (h<=0) System.out.print("输入的数据不符合要求!请重新输入矩形的长和宽: "); continue; / Rectangle rect=new Rectangle(w,h); gp = new Rectangle(w,h); System.out.println("矩形的长和宽为: " + w + "t" + h); gp.area(); gp.perimeter(); break; / 退出循环 catch(Exception ne

31、) System.out.print("输入的数据不符合要求!请重新输入矩形的长和宽: "); break; case 3:/ 处理三角形的情况 while(true) try System.out.println("请输入三角形的三边长"); System.out.print("输入a : "); str=buf.readLine(); a=Float.parseFloat(str); System.out.print("输入b : "); str=buf.readLine(); b=Float.parseFlo

32、at(str); System.out.print("输入c : "); str=buf.readLine(); c=Float.parseFloat(str); if(!(a+b>c && a+c>b && b+c>a)/ a,b,c不能构成三角形的情况,要求重新输入 System.out.print("您输入的三边不能构成三角形!请重新输入三角形的三边长: "); continue; /输入的三边长可以构成三角形的情况,计算并输出在不久的三角形的面积和周长 / Triangle tri = new T

33、riangle(a,b,c); System.out.println("三角形的三边长分别为: " + a + "t" + b + "t" + c); gp = new Triangle(a,b,c); gp.area(); gp.perimeter(); break;/ 退出循环 catch(Exception ne) /出现异常的处理操作 System.out.print("输入的数据不符合要求!请重新输入三角形的三边长: "); break; case 0: /退出 System.out.println(&q

34、uot;感谢使用!"); System.exit(0); /end of switch /end of while 程序循环/ end of main()public static void PrintMenu() System.out.println("t操作菜单");System.out.println("1、求圆的面积和周长");System.out.println("2、求矩形的面积和周长");System.out.println("3、求三角形的面积和周长");System.out.printl

35、n("0、退出");System.out.print("请选择要执行的操作: "); /end of PrintMenu()/end of classRectangle.javapackage exp015S1_2;public class Rectangle implements Graphics /* * param args */ float weight,height; public Rectangle(float w,float h) weight=w; height=h; /求面积 public void area() System.out.

36、println("面积为: "+ weight*height); public void perimeter() System.out.println("周长为: "+ 2*weight*height); Circle.javapackage exp015S1_2;public class Circle implements Graphics/* * param args */ float radius; / 定义圆的周长 /Circle类的构造函数 public Circle(float r) radius = r; /求面积 public void

37、area() System.out.println("面积为: "+ Math.PI*radius*radius); /求周长 public void perimeter() System.out.println("周长为: "+ 2*Math.PI*radius); Graphics.javapackage exp015S1_2;/* * author Administrator * */public interface Graphics abstract void area(); /求图形面积方法abstract void perimeter();

38、/求图形周长方法2、以电话为父类,移动电话和固定电话为两个子类,并使移动电话实现接口:可移动。固定电话又有子类:无绳电话。定义接口及各类,明确他们的继承关系。package edu.sdust.sc;public interface Motive package edu.sdust.sc;abstract class Phoneabstract void call();class MobilePhone extends Phone implements Motivepublic void call()class Telephone extends Phonepublic void call()

39、class NotThreadPhone extends Telephonepublic void call()public class PhoneImpl public static void main(String args)3、在实验2中所实现的Teacher类的基础上,修改Teacher类的代码,要求:由多个Teacher对象所形成的数组可以使用Arrays.sort方法进行排序(编号由低到高排序)。public class Teacherprivate int no;private String name;private int age;private String seminary

40、;public Teacher(int n, String na, int a, String s)no = n;name = na;age = a;seminary = s; public int getNo()return no; public int getAge()return age; public String getName()return name; public String getSeminary()return seminary;Public void setNo(int no)this.no=no;Public void setName(String name)=name;Publi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论