Java基础上机题-分类整理_第1页
Java基础上机题-分类整理_第2页
Java基础上机题-分类整理_第3页
Java基础上机题-分类整理_第4页
Java基础上机题-分类整理_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、一、 类和对象根底题共13题1编写一个Java应用程序,该程序中有3个类:Lader、Circle和主类A。具体要求如下:Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能,包括一个构造方法对上底、下底、高进行初始化。Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能,包括一个构造方法对半径进行初始化。主类A用来测试类Lader和类Circle的功能。解答:解题思路:该题需要构建Lader、Circle和主类A,Lader类主要是做什么什么,A类主要做什么,起什么作用。解题过程关键代码:解题总结:该题用到了什么什么知识点class

2、 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 Lad

3、er(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,武器weap

4、on方法有:显示名字printName),显示武器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

5、 weapon)System.out.println("weapon:"+weapon);public class People public static void main(String args) XiYouJiRenWu zhuBaJie=new XiYouJiRenWu();XiYouJiRenWu sunWuKong=new XiYouJiRenWu();zhuBaJ="猪八戒"sunWuK="孙悟空"zhuBaJie.weapon="九齿钉耙"sunWuKong.weap

6、on="如意金箍棒"zhuBaJie.printName(zhuBaJ);zhuBaJie.printWeapon(zhuBaJie.weapon);sunWuKong.printName(sunWuK);sunWuKong.printWeapon(sunWuKong.weapon);3编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变量“账号和“存款余额,成员方法有“存款、“取款和“余额查询。其次,编写一个主类,在主类中测试Account类的功能。class Accountprotected String Accou

7、ntNumber;protected float balance;float desposit(float amout)balance+=amout;return 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的余额是:

8、%f",AccountNumber,balance);public class Text public static void main(String args) Account a1=new Account("1000001",2000f); a1.desposit(1000f); a1.withdraw(500f); a1.show(); 4编写Java应用程序。首先,定义一个时钟类Clock,它包括三个int型成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量时、分、秒进行初始化,还有一个成员方法show()用于显示时钟对象的时间。其次,再定义一个主

9、类TestClass,在主类的main方法中创立多个时钟类的对象,使用这些对象调用方法show()来显示时钟的时间。class Clockint hour,min,sec;Clock(int h,int m,int s)hour=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 Cloc

10、k(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应用程序。首先,定义描述学生的类Student,包括学号int、姓名String、年龄int等属性;二个方法:Student(int stuNo,String name,int age)用于对对象的初始化,outPut()用于输出学生信息。其次,再定义一个主类TestClass,在主类的main方法中创立多个Student类的对象,使用这些对象来测试

11、Student类的功能。class Studentint Number;String Name;int age;Student(int stuNo,String name,int age)Number=stuNo;Name=name;this.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

12、=new Student(12001,"张三",21); Student s2=new Student(12002,"张飞",20); s1.outPut(); s2.outPut(); 6编写一个Java应用程序,该应用程序包括2个类:Print类和主类E。Print类里有一个方法output()功能是输出100 999之间的所有水仙花数各位数字的立方和等于这个三位数本身,如: 371 = 33 + 73 + 13。在主类E的main方法中来测试类Print。class Printvoid output()int a,b,c;for(int i=100

13、;i<1000;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(); text.output(); 7编写Java应用程序。首先,定义一个Print类,它有一个方法void output(intx),如果x的值是1,在控制台打印出大写的英文字母表;如果x的值是2,在控制台打印出小写的英文字母表。其次,再定义一个主类Test

14、Class,在主类的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 if(x=2)for(int j=97;j<=122;j+)System.out.printf("%c ",j);System.out.println();public class TestClass

15、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编写主类:创立一个对象猫,姓名为“妮妮,毛色为“灰色,年龄为2岁,在屏幕上输出该对象的毛色和年龄,让该对象调用显示姓名和喊叫两个方法。class Cat String name,color; int age;

16、 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(); System.out.println("颜色是"+cat.color+" 年龄是"+cat.age+"岁");

17、 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(3,4,5); t.showperimet

18、er(); 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.out.printf("%d+%d=%dn&qu

19、ot;,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("你

20、好!"); t.add(23,45); t.rename("李四"); 11按要求编写Java应用程序。1创立一个叫做机动车的类:属性:车牌号(String),车速(int),载重量(double)功能:加速(车速自增)、减速(车速自减)、修改车牌号,查询车的载重量。编写两个构造方法:一个没有形参,在方法中将车牌号设置“XX1234,速度设置为100,载重量设置为100;另一个能为对象的所有属性赋值;2创立主类:在主类中创立两个机动车对象。创立第一个时调用无参数的构造方法,调用成员方法使其车牌为“辽A9752,并让其加速。创立第二个时调用有参数的构造方法,使其车牌

21、为“辽B5086,车速为150,载重为200,并让其减速。输出两辆车的所有信息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

22、reduction(int speed2)speed-=speed2;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,20

23、0); c2.reduction(50); System.out.println(c1.number+" 车速:"+c1.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 Stri

24、ng 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; 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.p

25、rintln(P1.getX()+" "+P1.y); 13首先,编写一个类ChongZai,该类中有3个重载的方法void print();其次,再编写一个主类来测试ChongZai类的功能。class ChongZaipublic double area(double radius)return (Math.PI*radius*radius);public double area(double length,double width)return (length*width);public double area(double length,double width,d

26、ouble height)return ( length*width*height); public class A public static void main(String args) ChongZai t=new ChongZai(); System.out.println("圆的半径为5,面积是:"+t.area(5); System.out.println("矩形长为6,宽为21,面积是:"+t.area(6,21); System.out.println("立方体长宽高分别为4,5,6,面积是:"+t.area(4,5,

27、6); 二、 继承相关共13题18实现如下类之间的继承关系,并编写Music类来测试这些类。class Instrumentpublic void play()System.out.println("弹奏乐器"); class Wind extends InstrumentOverridepublic void play()System.out.println("弹奏Wind");public void play2()System.out.println("调用Wind的paly2"); class Brass extends Ins

28、trument 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 args)Wind a1=new Wind();Brass a2=new Brass();tune(a1);tune(a2

29、); 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()System.out.println("Height");public void ave

30、rageWeight()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")

31、;public 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("1

32、40kg");public void ChinaGongfu()System.out.println("坐如钟,站如松,睡如弓");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 ex

33、tends A int b1=6; int a1=7; void mB() System.out.println("B.mB"); void mA() System.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();

34、System.out.println("a.a1="+a.a1); a.mA(); 21编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类E。要求:(1) Monkey类中有个构造方法:Monkey (String s),并且有个public void speak()方法,在speak方法中输出“咿咿呀呀.的信息。(2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法中输出“小样的,不错嘛!会说话了!的信息。(3)在People类中新增方法void think(),在think方法中输出“别说话!

35、认真思考!的信息。(4)在主类E的main方法中创立Monkey与People类的对象类测试这2个类的功能。class MonkeyMonkey (String s) System.out.println(s);public void speak()System.out.println("咿咿呀呀."); class People extends Monkey People(String s) super(s);public void speak()System.out.println("小样的,不错嘛!会说话了!");public void think

36、()System.out.println("别说话!认真思考!");public class Epublic static void main(String args) Monkey monkey = new Monkey("我是猴子");monkey.speak();People people = new People("刘德华");people.speak();people.think();22编写一个类A,该类创立的对象可以调用方法f输出小写的英文字母表。然后再编写一个A类的子类B,要求子类B必须继承类A的方法f不允许重写,子类

37、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(&quo

38、t;英文字母大写:"); for(char d='A'd<='Z'd+) System.out.print(d+"t"); System.out.println(); public class Cpublic static void main(String args) B b = new B(); b.f(); b.g();23实现一个名为Person的类和它的子类Employee,Employee有两个子类Faculty和Staff。具体要求如下:1Person类中的属性有:姓名nameString类型,地址addressS

39、tring类型, 号码telphoneString类型和电子邮件地址emailString类型;2Employee类中的属性有:办公室officeString类型,工资wagedouble类型,受雇日期hiredateString类型;3Faculty类中的属性有:学位degreeString类型,级别levelString类型;4Staff类中的属性有:职务称号dutyString类型。class Personprotected String name;protected String address;protected String telephone;protected String e

40、mail;Person(String name, String address,String telephone, String email)=name;this.telephone=telephone;this.address=address;this.email=email;public String P() return +"t"+this.telephone+"t"+this.address+"t"+this.email;class Employee extends Personprotec

41、ted String office;protected double salary;protected String hireDate;Employee(String name, String address, String telephone, String email,String office,double salary,String hireDate) super(name, address, telephone, email);this.office=office;this.salary=salary;this.hireDate=hireDate;public String E()

42、return +"t"+this.telephone+"t"+this.address+"t"+this.email+"t"+this.office+"t"+this.salary+"t"+this.hireDate;class Faculty extends Employeepublic String degree,level;Faculty(String name, String address, String telephone, String ema

43、il,String office, double salary, String hireDate,String degree,String level) super(name, address, telephone, email, office, salary, hireDate);this.degree=degree;this.level=level;public String F() return +"t"+this.telephone+"t"+this.address+"t"+this.email+"

44、t"+this.office+"t"+this.salary+"t"+this.hireDate+"t"+this.degree+"t"+this.level;class Staff extends Employeepublic String duty;Staff(String name, String address, String telephone, String email,String office, double salary, String hireDate,String duty) sup

45、er(name, address, telephone, email, office, salary, hireDate);this.duty=duty;public String S() return +"t"+this.telephone+"t"+this.address+"t"+this.email+"t"+this.office+"t"+this.salary+"t"+this.hireDate+"t"+this.duty;pub

46、lic class Test public static void main(String args) Person person = new Person("张三","中国","122","1122");Employee employee = new Employee("张气","美国","1211","22122","304",3000,"20211211");Faculty faculty

47、= new Faculty("李哈","中国","1222","00221","303",5000,"20210311","本科","五级");Staff staff = new Staff("赵氏","日本","12111","99922","509",7000,"20210511","领事");

48、System.out.println( person.P();System.out.println(employee.E();System.out.println( faculty.F();System.out.println(staff.S();24编写一个Car类,具有final类型的属性品牌,具有功能drive;定义其子类Aodi和Benchi,具有属性:价格、型号;具有功能:变速;定义主类E,在其main方法中分别创立Aodi和Benchi的对象并测试对象的特性。class Car final String CarBrand="品牌"void drive()Syst

49、em.out.println(CarBrand+"Car开车");class Aodi extends Car int price; String model; Aodi(int price1,String model1) price=price1; model=model1; Override public void drive()System.out.print("Aodi"+model+" 价格"+price);System.out.println("Aodi变速"); class Benchi extend

50、s Car int price; String model; Benchi(int price2,String model2) price=price2; model=model2; Override public void drive()System.out.print("Benchi"+model+" 价格"+price);System.out.println("Benchi变速"); public class E public static void main(String args) Aodi a=new Aodi(10000

51、0,"AK1200"); Benchi b=new Benchi(1000000,"SSS100"); a.drive(); b.drive(); 25按要求编写一个Java应用程序:1编写一个矩形类Rect,包含:两个protected属性:矩形的宽width;矩形的高height。两个构造方法:1一个带有两个参数的构造方法,用于将width和height属性初化;2一个不带参数的构造方法,将矩形初始化为宽和高都为10。两个方法:求矩形面积的方法area()求矩形周长的方法perimeter()2通过继承Rect类编写一个具有确定位置的矩形类Plain

52、Rect,其确定位置用矩形的左上角坐标来标识,包含:添加两个属性:矩形左上角坐标startX和startY。两个构造方法:带4个参数的构造方法,用于对startX、startY、width和height属性初始化;不带参数的构造方法,将矩形初始化为左上角坐标、长和宽都为0的矩形;添加一个方法:判断某个点是否在矩形内部的方法isInside(double x,double y)。如在矩形内,返回true, 否那么,返回false。 提示:点在矩形类是指满足条件:x>=startX&&x<=(startX+width)&&y<startY&

53、&y>=(startY-height)3编写PlainRect类的测试程序创立一个左上角坐标为10,10,长为20,宽为10的矩形对象;计算并打印输出矩形的面积和周长;判断点(25.5,13)是否在矩形内,并打印输出相关信息。class Rectprotected double width;protected double height;Rect(double width,double height)this.width=width;this.height=height;Rect()this(10,10);void area()System.out.println("宽

54、高分别为:"+width+","+height+"面积是:"+(width*height);void perimeter()System.out.println("宽高分别为:"+width+","+height+"周长是:"+(width+height)*2);class PlainRect extends Rectint startX,startY;PlainRect(int startX,int startY,double width,double height)super(width,height);this.startX=startX;this.startY=startY;PlainRect()this(0,0,0,0);boolean isInside(double x,double y)if(x>=startX&&x<=(startX+width)&&y<startY&&y>=(startY-height)return true;elsereturn false;public class Testpublic static void ma

温馨提示

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

评论

0/150

提交评论