《java基础上机题分类整理版.doc》由会员分享,可在线阅读,更多相关《java基础上机题分类整理版.doc(38页珍藏版)》请在三一办公上搜索。
1、一、 类和对象基础题(共13题)1编写一个Java应用程序,该程序中有3个类:Lader、Circle和主类A。具体要求如下:Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能,包括一个构造方法对上底、下底、高进行初始化。Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能,包括一个构造方法对半径进行初始化。主类A用来测试类Lader和类Circle的功能。解答:解题思路:该题需要构建Lader、Circle和主类A,Lader类主要是做什么什么,A类主要做什么,起什么作用。解题过程(关键代码):解题总结:该题用到了什么什么知识点c
2、lass Laderdouble s,x,g,area;double getarea()return (s+x)*g*0.5);Lader(double s,double x,double g)this.s=s;this.x=x;this.g=g; class Circle double r,m,l; Circle(double rr) r=rr;double getm()return 3.14*r*r;double getl()return 2*3.14*r; public class A public static void main(String args) Lader text=new
3、 Lader(3,4,5); System.out.println(上底下底高分别为3,4,5的梯形面积为:+text.getarea(); Circle text1=new Circle(5); System.out.println(半径为5的圆面积是:+text1.getm()+,周长是+text1.getl(); 结题总结:本题用到了 构造方法,new实例化对象,方法的声明和调用以及对象的引用等等。2按要求编写Java应用程序:(1)编写西游记人物类(XiYouJiRenWu)其中属性有:身高(height),名字(name),武器(weapon)方法有:显示名字(printName),
4、显示武器(printWeapon)(2)在主类的main方法中创建二个对象:zhuBaJie,sunWuKong。并分别为他们的两个属性(name,weapon)赋值,最后分别调用printName, printWeapon方法显示二个对象的属性值。package java2;class XiYouJiRenWudouble height;String name,weapon;void printName(String name)System.out.println(name:+name); void printWeapon(String weapon)System.out.println(w
5、eapon:+weapon);public class People public static void main(String args) XiYouJiRenWu zhuBaJie=new XiYouJiRenWu();XiYouJiRenWu sunWuKong=new XiYouJiRenWu();zhuBaJie.name=猪八戒;sunWuKong.name=孙悟空;zhuBaJie.weapon=九齿钉耙;sunWuKong.weapon=如意金箍棒;zhuBaJie.printName(zhuBaJie.name);zhuBaJie.printWeapon(zhuBaJie.
6、weapon);sunWuKong.printName(sunWuKong.name);sunWuKong.printWeapon(sunWuKong.weapon);3编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次,编写一个主类,在主类中测试Account类的功能。class Accountprotected String AccountNumber;protected float balance;float desposit(float amout)balance+=amout;retu
7、rn balance;float withdraw(float amout)balance-=amout;return balance;Account()this(,0);Account(String Number,float balance)AccountNumber=Number;this.balance=balance;void show()System.out.printf(账号:%s的余额是:%f,AccountNumber,balance);public class Text public static void main(String args) Account a1=new A
8、ccount(1000001,2000f); a1.desposit(1000f); a1.withdraw(500f); a1.show(); 4编写Java应用程序。首先,定义一个时钟类Clock,它包括三个int型成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒)进行初始化,还有一个成员方法show()用于显示时钟对象的时间。其次,再定义一个主类TestClass,在主类的main方法中创建多个时钟类的对象,使用这些对象调用方法show()来显示时钟的时间。class Clockint hour,min,sec;Clock(int h,int m,int s)hou
9、r=h;min=m;sec=s;Clock()void show()System.out.printf(时间 %d:%d:%d,hour,min,sec);System.out.println();public class TextClass public static void main(String args)Clock c1=new Clock(4,20,9);Clock c2=new Clock();Clock c3=new Clock(14,2,9);c2.hour=2;c2.min=3;c2.sec=4;c1.show();c2.show();c3.show(); 5编写Java应
10、用程序。首先,定义描述学生的类Student,包括学号(int)、姓名(String)、年龄(int)等属性;二个方法:Student(int stuNo,String name,int age)用于对对象的初始化,outPut()用于输出学生信息。其次,再定义一个主类TestClass,在主类的main方法中创建多个Student类的对象,使用这些对象来测试Student类的功能。class Studentint Number;String Name;int age;Student(int stuNo,String name,int age)Number=stuNo;Name=name;th
11、is.age=age;void outPut()System.out.printf(学号 :%d 姓名:%s 年龄:%d,Number,Name,age);System.out.println();public class TextClass public static void main(String args) Student s1=new Student(12001,张三,21); Student s2=new Student(12002,张飞,20); s1.outPut(); s2.outPut(); 6编写一个Java应用程序,该应用程序包括2个类:Print类和主类E。Print
12、类里有一个方法output()功能是输出100 999之间的所有水仙花数(各位数字的立方和等于这个三位数本身,如: 371 = 33 + 73 + 13。)在主类E的main方法中来测试类Print。class Printvoid output()int a,b,c;for(int i=100;i1000;i+)a=i%10;b=i/10%10;c=i/100;if(a*a*a+b*b*b+c*c*c)=i)System.out.print(i+t);public class E public static void main(String args) Print text=new Print
13、(); text.output(); 7编写Java应用程序。首先,定义一个Print类,它有一个方法void output(intx),如果x的值是1,在控制台打印出大写的英文字母表;如果x的值是2,在控制台打印出小写的英文字母表。其次,再定义一个主类TestClass,在主类的main方法中创建Print类的对象,使用这个对象调用方法output ()来打印出大小写英文字母表。class Print void output(int x)if(x=1)for(int j=65;j=90;j+)System.out.printf(%c ,j);System.out.println();else
14、 if(x=2)for(int j=97;j=122;j+)System.out.printf(%c ,j);System.out.println();public class TestClass public static void main(String args) Print p=new Print(); p.output(1); p.output(2); public static void main(String args) Cat cat=new Cat(妮妮8按要求编写Java应用程序。(1)建立一个名叫Cat的类:属性:姓名、毛色、年龄 行为:显示姓名、喊叫(2)编写主类:创建
15、一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。class Cat String name,color; int age; void showname() System.out.println(name); void shout(String s) System.out.println(s); Cat(String nam,String colo,int ag) name=nam; color=colo; age=ag;public class TestClass,灰色,2); cat.showname(); Syst
16、em.out.println(颜色是+cat.color+ 年龄是+cat.age+岁); cat.shout(喵喵); 9创建一个三角形类,成员变量三边,方法求周长,创建类主类A来测试它。class triangleint a,b,c;void showperimeter()System.out.println(周长是+(a+b+c);triangle(int a,int b,int c)this.a=a;this.b=b;this.c=c;public class A public static void main(String args) triangle t=new triangle(
17、3,4,5); t.showperimeter(); 10按要求编写Java应用程序。(1)创建一个叫做People的类:属性:姓名、年龄、性别、身高行为:说话、计算加法、改名编写能为所有属性赋值的构造方法;(2)创建主类:创建一个对象:名叫“张三”,性别“男”,年龄18岁,身高1.80;让该对象调用成员方法:说出“你好!”计算23+45的值将名字改为“李四”class PeopleString name,sex;int age;float height;void speak(String s)System.out.println(s);void add(int a,int b)System.
18、out.printf(%d+%d=%dn,a,b,a+b);void rename(String name1)name=name1;System.out.println(name);People(String name_,int age_,String sex_,float height_)name=name_;age=age_;sex=sex_;height=height_;public class A public static void main(String args) People t=new People(张三,18,男,1.80f); t.speak(你好!); t.add(23
19、,45); t.rename(李四); 11按要求编写Java应用程序。(1)创建一个叫做机动车的类:属性:车牌号(String),车速(int),载重量(double)功能:加速(车速自增)、减速(车速自减)、修改车牌号,查询车的载重量。编写两个构造方法:一个没有形参,在方法中将车牌号设置“XX1234”,速度设置为100,载重量设置为100;另一个能为对象的所有属性赋值;(2)创建主类:在主类中创建两个机动车对象。创建第一个时调用无参数的构造方法,调用成员方法使其车牌为“辽A9752”,并让其加速。创建第二个时调用有参数的构造方法,使其车牌为“辽B5086”,车速为150,载重为200,并
20、让其减速。输出两辆车的所有信息class CarString number;int speed;double deadweight;Car(String number,int speed,double deadweight)this.number=number;this.speed=speed;this.deadweight=deadweight;Car()number=XX1234;speed=100;deadweight=100;void accelerate(int speed1)speed+=speed1;void reduction(int speed2)speed-=speed2;
21、void ChangeNumber(String Number)number=Number;void showdeadweight()System.out.println(deadweight); public class A public static void main(String args) Car c1=new Car(); c1.ChangeNumber(辽A9752); c1.accelerate(30); Car c2=new Car(辽B5086,150,200); c2.reduction(50); System.out.println(c1.number+ 车速:+c1.
22、speed+ 载重量:+c1.deadweight); System.out.println(c2.number+ 车速:+c2.speed+ 载重量:+c2.deadweight); 12创建一个Point类,有成员变量x,y,方法getX(),setX(),还有一个构造方法初始化x和y。创建类主类A来测试它。class Pointprivate int x;public String y;public int getX()return this.x;public void setX(int x)this.x=x;Point(int x,String y)this.x=x;this.y=y;
23、 public class A public static void main(String args) Point p=new Point(3,Text1); Point P1=new Point(55,text2);System.out.println(p.getX()+ +p.y);System.out.println(P1.getX()+ +P1.y); 13首先,编写一个类ChongZai,该类中有3个重载的方法void print();其次,再编写一个主类来测试ChongZai类的功能。class ChongZaipublic double area(double radius)r
24、eturn (Math.PI*radius*radius);public double area(double length,double width)return (length*width);public double area(double length,double width,double height)return ( length*width*height); public class A public static void main(String args) ChongZai t=new ChongZai(); System.out.println(圆的半径为5,面积是:+t
25、.area(5); System.out.println(矩形长为6,宽为21,面积是:+t.area(6,21); System.out.println(立方体长宽高分别为4,5,6,面积是:+t.area(4,5,6); 二、 数组相关(共4题)14已知2个一维数组:a=3,4,5,6,7,b=1,2,3,4,5,6,7;把数组a与数组b对应的元素乘积再赋值给数组b,如:b2=a2*b2;最后输出数组b的元素。public class A public static void main(String args) int a=3,4,5,6,7;int b=1,2,3,4,5,6,7;for
26、(int i=0;i5;i+)bi*=ai;for(int j:b)System.out.print(j+,); 15找出如下数组中最大的元素和最小的元素,a=3,2,6,6,8,2,10,5,12,3,23public class A public static void main(String args) int a=3,2,6,6,8,2,10,5,12,3,23;int min=a00,max=a00;for(int i=0;i4;i+)for(int j=0;jmax)max=aij;if(aijmin)min=aij;System.out.println(最大的元素是+max+n最
27、小的元素是+min); 16按要求编写Java应用程序。编写一个名为Test的主类,类中只有一个主方法;在主方法中定义一个大小为50的一维整型数组,数组名为x,数组中存放着1,3,5,99输出这个数组中的所有元素,每输出十个换一行;在主方法中定义一个大小为10*10的二维字符型数组,数组名为y,正反对角线上存的是*,其余位置存的是#;输出这个数组中的所有元素。public class Text public static void main(String args) int x; x=new int50; int j=0,k=0; for(int i=0;i50;i+) xi=2*i+1; S
28、ystem.out.print(xi+t); j+; if(j%10=0) System.out.println(); char y=new char1010; for(int r=0;r10;r+) for(int w=0;w10;w+) if(r=w)|(9-r=w) yrw=*; else yrw=#; System.out.print(yrw+t); k+; if(k%10=0) System.out.println(); 17从键盘上输入一个正整数n,请按照以下五行杨辉三角形的显示方式,输出杨辉三角形的前n行。请采用循环控制语句来实现。(三角形腰上的数为1,其他位置的数为其上一行相邻
29、两个数之和。)11 11 2 11 3 3 11 4 6 4 1 1 5 10 10 5 1import java.util.Scanner; public class Text public static void main(String args) Scanner sc=new Scanner(System.in); System.out.println(请输入杨辉三角形n的值:(025); int n=sc.nextInt(); int a=new int2525; for(int i=0;in;i+)ai0=1; for(int i=1;in;i+)for(int j=1;j=i;j+
30、)if(i=j)aij=1;else aij=ai-1j+ai-1j-1; for(int i=0;in;i+) for(int j=0;j=i;j+) System.out.print(aij+t); System.out.println(); 三、 继承相关(共13题)18实现如下类之间的继承关系,并编写Music类来测试这些类。class Instrumentpublic void play()System.out.println(弹奏乐器); class Wind extends InstrumentOverridepublic void play()System.out.printl
31、n(弹奏Wind);public void play2()System.out.println(调用Wind的paly2); class Brass extends Instrument Override public void play() System.out.println(弹奏Brass); public void play2()System.out.println(调用Brass的paly2); public class Musicpublic static void tune(Instrument i)i.play(); public static void main(String
32、 args)Wind a1=new Wind();Brass a2=new Brass();tune(a1);tune(a2); 19创建如下三个类:(People类中的三个方法分别输出一些信息,ChinaPeople和AmericanPeople类重写父类的三个方法)。package java1;public class People protected double height;protected double weight;public void speakHello()System.out.println(Welcome!);public void averageHeight()Sy
33、stem.out.println(Height);public void averageWeight()System.out.println(Weight);package java1;public class AmericanPeople extends People public void speakHello()System.out.println(Hello!);public void averageHeight()System.out.println(180cm);public void averageWeight()System.out.println(144kg);public
34、void americarBoxing()System.out.println(直拳,勾拳);package java1;public class ChinaPeople extends People public void speakHello()System.out.println(你好!);public void averageHeight()System.out.println(185c m);public void averageWeight()System.out.println(140kg);public void ChinaGongfu()System.out.println(
35、坐如钟,站如松,睡如弓);20编写一个Java应用程序,该程序包括3个类: A类、B类和主类E。其中类B是类A的子类,在子类B中新增了成员变量和成员方法,并且隐藏了父类A的成员变量和重写了父类A的成员方法。在主类E的main方法中,创建类B的对象并赋给父类A的对象a,使用上转型对象a来测试上转型对象的一些特性。class A int a1=5; void mA() System.out.println(A.mA); class B extends A int b1=6; int a1=7; void mB() System.out.println(B.mB); void mA() System
36、.out.println(B.mA); public class E public static void main(String args) B b=new B(); A a=b; System.out.println(b.a1=+b.a1); System.out.println(b.b1=+b.b1); b.mA(); b.mB(); System.out.println(a.a1=+a.a1); a.mA(); 21编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类E。要求:(1) Monkey类中有个构造方法:Monkey (String s),并且有个
37、public void speak()方法,在speak方法中输出“咿咿呀呀.”的信息。(2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法中输出“小样的,不错嘛!会说话了!”的信息。(3)在People类中新增方法void think(),在think方法中输出“别说话!认真思考!”的信息。(4)在主类E的main方法中创建Monkey与People类的对象类测试这2个类的功能。class MonkeyMonkey (String s) System.out.println(s);public void speak()System.out.p
38、rintln(咿咿呀呀.); class People extends Monkey People(String s) super(s);public void speak()System.out.println(小样的,不错嘛!会说话了!);public void think()System.out.println(别说话!认真思考!);public class Epublic static void main(String args) Monkey monkey = new Monkey(我是猴子);monkey.speak();People people = new People(刘德华
39、);people.speak();people.think();22编写一个类A,该类创建的对象可以调用方法f输出小写的英文字母表。然后再编写一个A类的子类B,要求子类B必须继承类A的方法f(不允许重写),子类B创建的对象不仅可以调用方法f输出小写的英文字母表,而且可以调用子类新增的方法g输出大写的英文字母表。最后编写主类C,在主类的main方法中测试类A与类B。class A public void f() System.out.println(英文字母小写:); for(char d=a;d=z;d+) System.out.print(d+t); System.out.println(); class B extends A public void g() System.out.println(英文字母大写:); for(char d=A;d=Z;d+) System.out.print(d+t); System.out.println(); public class Cpublic static void main(String a