java期末考试题型.doc_第1页
java期末考试题型.doc_第2页
java期末考试题型.doc_第3页
java期末考试题型.doc_第4页
java期末考试题型.doc_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

JAVA四、/*要求:写一个图形化输入界面,输入两个整数,然后点击按钮”比较“,显示出两个 * 整数中比较大的一个 * 考点:1、图形化界面显示 * 2、给容器中添加组件 * 3、给某一组件添加事件,事件的写法 */import java.awt.*;import java.awt.event.*;public class CompareTwo extends Frame implements ActionListener TextField t1 = new TextField(5); TextField t2 = new TextField(5);TextField t3 = new TextField(5);Button b = new Button(比较);Label l = new Label(比较大的是:);public void launchFrame() /用于启动窗口this.setSize(300,400);/设置窗口大小this.setLayout(new FlowLayout(); /设置顺序布局,否则可能显示一个很大的文本输入框this.add(t1);this.add(t2);this.add(b);this.add(l);this.add(t3);b.addActionListener(this);this.addWindowListener(new WindowAdapter() /下面四行是关闭窗口程序,运用匿名类,这段程序可以记忆public void windowClosing(WindowEvent e) System.exit(0););this.setVisible(true);/设置可见,如果缺少此句,可能看不到任何东西public void actionPerformed(ActionEvent e) int s1,s2;s1 = Integer.parseInt(t1.getText();s2 = Integer.parseInt(t2.getText();if(s1 s2)t3.setText(t1.getText();elset3.setText(t2.getText();public static void main(String args) new CompareTwo().launchFrame(); /new出来一个匿名类直接运行窗口/*要求:写一个复数类Complex * 1、有两个成员,int RealPart; 实部 int ImaginPart; 虚部 * 2、Complex()构造方法实现,虚部和实部初始化为0 * 3、Complex(int r,int i)实现复数的赋值 * 4、Complex complexAdd(Complex a) 实现复数的相加 * 5、String ToString() 实现复数显示为a+bi的形式 * 考点:1、构造方法的使用,如何重载构造方法,如何调用 * 2、Applet小应用程序的运行机制 * 3、如何使用Applet中init()和paint() 方法 * 4、return 语句的使用以及方法返回值类型的声明 */import java.applet.*;import java.awt.Graphics;public class Complex extends Applet int RealPart;int ImaginPart;public Complex() this.RealPart = 0;this.ImaginPart = 0;public Complex(int r,int i) this.RealPart = r;this.ImaginPart = i;Complex complexAdd(Complex a) this.RealPart = this.RealPart + a.RealPart;this.ImaginPart = this.ImaginPart + a.ImaginPart;return this;String ToString() return this.RealPart + + + this.ImaginPart + i;public void paint(Graphics g) Complex c1 = new Complex(); /c1 = 0 + 0i;Complex c2 = new Complex(4,5); /c2 = 4 + 5i;Complex c3 = new Complex(2,6); /c3 = 2 + 6i;this.setSize(500,600);g.drawString(第一个复数是+c1.ToString(),10,20);g.drawString(第二个复数是+c2.ToString(),10,40);g.drawString(第三个复数是+c3.ToString(),10,60);plexAdd(c3);plexAdd(c3);g.drawString(c1 + c3 = + c1.ToString(), 10, 80);g.drawString(c2 + c3 = + c2.ToString(), 10, 100);this.setVisible(true);/*要求,从命令行输入参数n,计算出结果s = 1+1/(1+2)+1/(1+2+3)+.+1/(1+2+.+n) * 此程序中考点:1、会用jbuilder 输入命令行参数以及如何使用命令行参数 * 2、数值类型转换 * 3、循环语句的使用 */public class SumN public static void main(String args) int n;float u = 0,sum = 0;n = Integer.parseInt(args0); /将命令行参数args0转换成为整型for(int i=1;i=n;i+) u +=i;/先计算每个分数的分母sum +=1/u;/然后将每个分数一个一个加到结果中System.out.println(1+1/(1+2)+1/(1+2+3)+.+1/(1+2+.+n+)=+sum);二、声明一个抽象类Shape,有宽width和高height两个属性,有一个抽象方法计算面积area();声明两个类:三角形:Triangle和矩形Rectangle,这两个类继承Shape类,其构造方法可以初始化宽width和高height的值,并实现了计算面积的方法。再编写一个主类,该主类有一个方法calculateArea(Shape s),其main方法通过调用calculateArea(Shape s)分别计算并输出一个三角形和矩形的面积。注意变量和方法返回值的类型都设置为double型。/import java.io.*;abstract class Shapedouble width;double height;abstract double area();class Triangle extends ShapeTriangle(double i,double j)width = i;height = j;double area()return (width*height)/2);class Rectangle extends ShapeRectangle(double i,double j)width = i;height = j;double area()return (width*height);public class ScendExam static double calculateArea(Shape s)return s.area();public static void main(String args) Triangle tag = new Triangle(4.0,8.0);Rectangle rtag = new Rectangle(5, 40);System.out.println(ScendExam.calculateArea(tag);System.out.println(ScendExam.calculateArea(rtag);三、定义一个满足如下要求的Student类:(本题不要求定义main函数)1)具有姓名、学号两个私有成员变量; 10分2)具有一个公有无参空构造函数;并重载一个构造函数,使之能对两个私有成员变量初始化; 10分3)具有两个能够返回相应私有成员变量值的成员函数getXXX();10分具有一个公有无参成员函数study,在函数体中打印一条信息“Student study”/import java.lang.*;public class Student private String sname;private long snum;public Student()Student(String name,long num)sname = name;snum = num;String getSname()return sname;long getSnum()return snum;public void study()System.out.println(Student study);一、设计一个类TestArraySum,定义一个含有10个元素的int类型数组a,10个数组元素的值是1120,再定义一个方法arraySum(int a),返回数组所有元素的和,最后用main方法实现在屏幕上输出数组a所有元素的和。/import java.io.*;public class TestArraySum int arraySum(int a)int arraySum = 0;int i = 0;while( i a.length)arraySum += ai+;return arraySum;public static void main(String args) TestArraySum tas = new TestArraySum(); int teArray = new int10; for(int i = 0;i teArray.length;i+) teArrayi = i + 11; System.out.print(teArrayi+ ); System.out.println(); System.out.println(The sum of teArray is = +tas.arraySum(teArray);一、设计一个类TestArraySum,定义一个含有10个元素的int类型数组a,10个数组元素的值是1120,再定义一个方法arraySum(int a),返回数组所有元素的和,最后用main方法实现在屏幕上输出数组a所有元素的和。二、声明一个抽象类Shape,有宽width和高height两个属性,有一个抽象方法计算面积area();声明两个类:三角形:Triangle和矩形Rectangle,这两个类继承Shape类,其构造方法可以初始化宽width和高height的值,并实现了计算面积的方法。再编写一个主类,该主类有一个方法calculateArea(Shape s),其main方法通过调用calculateArea(Shape s)分别计算并输出一个三角形和矩形的面积。注意变量和方法返回值的类型都设置为double型。三、定义一个满足如下要求的Student类:(本题不要求定义main函数)1)具有姓名、学号两个私有成员变量; 10分2)具有一个公有无参空构造函数;并重载一个构造函数,使之能对两个私有成员变量初始化; 10分3)具有两个能够返回相应私有成员变量值的成员函数getXXX();10分具有一个公有无参成员函数study,在函数体中打印一条信息“Student study”四、/*要求:写一个图形化输入界面,输入两个整数,然后点击按钮”比较“,显示出两个 * 整数中比较大的一个 * 考点:1、图形化界面显示 * 2、给容器中添加组件 * 3、给某一组件添加事件,事件的写法 */1 求1!+2!+3!+4!+n!import java.util.Scanner;public class Test public static void main(String args) int i; long sum=0; int n=0; System.out.println(请输入计算范围n:); Scanner sc = new Scanner(System.in); n = sc.nextInt(); for(i=1;i=n;i+) sum=jiecheng(i)+sum; System.out.println(阶乘求和结果为:+sum); static long jiecheng(int m) int j; int s=1; for(j=1;j=m;j+) s=s*j; System.out.println(j-1+! 结果为:+s); return s; 2 现有雇员类及其子类经理类,雇员类包含私有成员变量name ,salary;经理类还有自己的私有变量bonus; 雇员类包括方法getname ()和getsalary(),经理类除继承上述方法外,还有自己的setbonus方法,现需创建一个经理并设置其奖金金额,另建立员工数组(经理作为其一个元素),要求打印输出该员工数组的姓名和薪水信息public class Main public static void main(String args) Manager ma=new Manager(李,123.0); ma.setbonus(1200.0); System.out.println(姓名: +ma.getname()+ 工资: +ma.getsalary()+ 奖金为: +ma.getbonus(); Employee a = new Employee3 ; a0= new Employee(赵,100.0); a1=new Manager(钱,200.0); a2= new Employee(孙,300.0); System.out.println(姓名: +a0.getname()+ 工资: +a0.getsalary(); System.out.println(姓名: +a1.getname()+ 工资: +a1.getsalary(); System.out.println(姓名: +a2.getname()+ 工资: +a2.getsalary(); class Employee private String name; private double salary; Employee() Employee(String a,double b) name=a; salary=b; public String getname() return name; public double getsalary() return salary; class Manager extends Employee String name; double salary; private double bonus; Manager(String a,double b) name=a; salary=b; public String getname() return name; public double getsalary() return salary; void setbonus(double c) bonus=c; double getbonus() return bonus; 3 求1+1/2!+1/3!+1/4!+1/9!public class Test public static void main(String args) int i,j=1; double x=1.0,y=1.0; double sum=0; for(i=1;i=9;i+) x=jiecheng(i); y=1.0/x; sum+=y; System.out.println(1+1/2!+1/3!+1/4!+1/9! = +sum); static long jiecheng(int n) int i; int s=1; for(i=1;i=n;i+) s=s*i; return s; 4 现有学生类及其子类研究生类,学生类包含私有成员变量name ,credit; 研究生类还有自己的私有变量postcredit; 学生类包括方法getname ()和getcridit(),研究生类除继承上述方法外,还有自己的setpostcredit方法,现需创建一个研究生并设置其postcredit,另建立学生数组(研究生作为其一个元素),要求打印输出该学生数组的姓名和学分信息5 编写代码生成100个位于20,1000区间的整数。6 编写一个方法,接收一个整数数组作为参数,此方法会找出其最大值、最小值和平均值。 要求使用递归方法实现。 7 编写一个三角形类,将求面积,周长,内切圆,外接圆等方法放入类中,并验证。import java.io.*;public class Test public static void main(String args) throws IOException sanjiao sj1=new sanjiao(); System.out.println(-调用无参空构造方法-); System.out.println(请输入三角形的3边长度:); BufferedReader br1= new BufferedReader(new InputStreamReader(System.in); String s1=br1.readLine(); sj1.a=Double.parseDouble(s1); BufferedReader br2= new BufferedReader(new InputStreamReader(System.in); String s2=br2.readLine(); sj1.b=Double.parseDouble(s2); BufferedReader br3= new BufferedReader(new InputStreamReader(System.in); String s3=br3.readLine(); sj1.c=Double.parseDouble(s3); System.out.println(面积=+sj1.mianji()+ 周长=+sj1.zhouchang()+ 内切圆半径=+sj1.neiqieyuan()+ 外切圆半径=+sj1.waiqieyuang(); System.out.println(-分割线-); System.out.println(-调用有参构造方法-); sanjiao sj2=new sanjiao(3.0,4.0,5.0); System.out.println(边长分别为3、4、5的三角形:+面积=+sj2.mianji()+ 周长=+sj2.zhouchang()+ 内切圆半径=+sj2.neiqieyuan()+ 外切圆半径=+sj2.waiqieyuang(); System.out.println(); class sanjiao double a,b,c; sanjiao(); sanjiao(double s1,double s2,double s3) a=s1; b=s2; c=s3; public double getA() return a; public double getB() return b; public double getC() return c; public double mianji() double s,h; h=(a+b+c)/2.0; s=Math.sqrt(h-a)*(h-b)*(h-c)*h); return s; double zhouchang() double l; l=a+c+b; return l; double neiqieyuan() double r1,h,s; h=(a+b+c)/2.0; s=Math.sqrt(h-a)*(h-b)*(h-c)*h); r1=2.0*s/(a+b+c); return r1; double waiqieyuang() double r2,h,s; h=(a+b+c)/2.0; s=Math.sqrt(h-a)*(h-b)*(h-c)*h); r2=a*b*c/(4*s); return r2; 8 从1到100的100个整数,以某种随机的方式进行排列,然将它们挨个放到一个整数数组中,此数组只能容纳99个整数,因此,必定会有一个整数会丢弃。编写一个函数,接收一个包容99个整数的数组作为参数,找出被丢弃的哪个整数。另外,你如何保证此函数接收的数组满足以下预设的条件? 1)数组包容99个整数 2)数组中的整数均在1,100的范围之内 3)数组中不包含两个相同的整数如果函数接收到的数据不满足上述要求,你打算如何处理?写出你的处理策略。public class Test public static void main(String args) int a=new int99,b=new int100,i=0,j=0,num; for(;i100;i+) bi=i+1; for(;j99;j+) num = (int) (Math.random() * 100); if(bnum!=0) aj=bnum; bnum=0; else j-; continue; findLost(a); static void findLost(int s) for(int i=1;i101;i+) for(int j=0;i99;i+) if(sj=i) System.out.println(i); 9 编程实现使用如下算式计算ex 。import java.io.*;public class Test public static void main(String args)throws IOException String s1,s2; int n=0; double x=0; System.out.println(请输入x:); BufferedReader br= new BufferedReader(new InputStreamReader(System.in); s1=br.readLine(); x=Double.parseDouble(s1); System.out.println(请输入n:); BufferedReader ar= new BufferedReader(new InputStreamReader(System.in); s2=ar.readLine(); n=Integer.parseInt(s2); Cal cal=new Cal(x,n); cal.yunsuan(); class Cal int n; double x; Cal(double a,int b) x=a; n=b; int jiecheng(int b) int a=1; for(int i=1;ib+1;i+) a=a*i; return a; void yunsuan() double z=1.0; for(int i=1;in+1;i+) z=(z +(double) Math.pow(x, i) / jiecheng(i); System.out.println(e + x + = 1+x/1!+x2/2!+xn/n! = + z); 10 若公鸡每只3元,母鸡每只5元,小鸡每只1元,编写程序计算用100元钱买100只鸡,其中公鸡、母鸡、小鸡应各买多少。import java.io.*;public class Test public static void main(String args) int x,y,z; for(x=0;x=33;x+) for(y=0;y=20;y+) for(z=0;z=100;z+) if( 3*x+5*y+z=100 & x+y+z=100 ) System.out.println(公鸡:+x+ 母鸡:+y+ 小鸡:+z); 11定义一个复数类Comp,内有实部和虚部2个成员变量;还有2方法,一个求复数的和,另一个求复数的积。并在主函数中编写语句验证这两个方法。12编写程序打印输出以下图形。*import java.io.*;public class Test public static void main(String args) throws IOException int i; int j; System.out.println(请输入n: ); BufferedReader ar= new BufferedReader(new InputStreamReader(System.in); String s=ar.readLine(); int n=Integer.parseInt(s); for(i=1;i=n;i+) for(j=1;j=n-i;j+) System.out.print(.); for(j=1;j=i;j+) System.out.print(*); System.out.println(); for(i=1;in;i+) for(j=1;j=n-i;j+) System.out.print(*); for(j=1;j=i;j+) System.out.print(.); System.out.println(); 13 编程求一个整数数组的最大值、最小值、平均值和所有数组元素的和。import java.util.Arrays;import java.util.Scanner;public class Test public static void main(String args) int n; System.out.println(请输入数组大小:); Scanner sc = new Scanner(System.in); n = sc.nextInt(); System.out.println(请输入数组的+n+个数:); int num = new intn; Scanner r = new Scanner(System.in); for(int i =0;in;i+) numi = r.nextInt(); System.out.println(最大值+max(num); System.out.println(最小值+min(num); System.out.println(平均值+pingjun(num); System.out.println(总和+all(num); private static int max(int num) int temp = num0; for (int i = 0; i temp) temp = numi; return temp; private static int min(int num) int temp = num0; for (int i = 0; i num.length; i+) if (numi temp) temp = numi; return temp; private static int pingjun(int num) int temp = 0; for (int i : num) temp += i; return temp / num.length; private static int all(int num) int temp = 0; for (int i : num) temp += i; return temp; 14 编程创建一个Box类,在其中定义三个变量表示一个立方体的长、宽和高,在定义一个方法setDemo对这三个变量进行初始化,然后定义一个方法求立方体的体积。创建一个对象,求给定尺寸的立方体的体积。15 将14题的方法setDemo改用构造函数实现初始化。16 编程输出九九乘法表(多重循环)。public class Main public static void main(String args) for(int i=1;i10;i+) for(int j=1;j=i;j+) System.out.print(+j+*+i+=+i*j+t); System.out.println(); 17 程采用冒泡法实现对数组元素由小到大排序。import java.io.*;public class Test public static void main(Stringargs) throws IOException System.out.println(请输入数组大小n:); BufferedReader a=new BufferedReader(new InputStreamReader(System.in); String str1=a.readLine(); int n=Integer.parseInt(str1); int array=new intn; int i,j,t,x=0; System.out.println(请输入+n+个数组元素:); for(i=1;i=n;i+) BufferedReader b=new BufferedReader(new InputStreamReader(System.in); String str=b.readLine(); x=Integer.parseInt(str); arrayi-1=x; System.out.println(你输入的+n+个数分别是:); for(i=0;in;i+) System.out.print(arrayi+ ); System.out.println(); for(i=0;in-1;i+) for(j=0;jn-i-1;j+) if(arrayj+1arrayj) t=arrayj; arrayj=arra

温馨提示

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

评论

0/150

提交评论