收藏 分销(赏)

Java基础上机题-分类整理版.doc

上传人:仙人****88 文档编号:11890810 上传时间:2025-08-18 格式:DOC 页数:38 大小:509.47KB 下载积分:10 金币
下载 相关 举报
Java基础上机题-分类整理版.doc_第1页
第1页 / 共38页
Java基础上机题-分类整理版.doc_第2页
第2页 / 共38页


点击查看更多>>
资源描述
一、 类和对象基础题(共13题) 1.编写一个Java应用程序,该程序中有3个类:Lader、Circle和主类A。具体要求如下:Lader类具有类型为double的上底、下底、高、面积属性,具有返回面积的功能,包括一个构造方法对上底、下底、高进行初始化。Circle类具有类型为double的半径、周长和面积属性,具有返回周长、面积的功能,包括一个构造方法对半径进行初始化。主类A用来测试类Lader和类Circle的功能。 解答:解题思路:该题需要构建Lader、Circle和主类A,Lader类主要是做什么什么,A类主要做什么,起什么作用。 解题过程(关键代码): 解题总结:该题用到了什么什么知识点 class Lader{ double 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 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),显示武器(printWeapon) (2)在主类的main方法中创建二个对象:zhuBaJie,sunWuKong。并分别为他 们的两个属性(name,weapon)赋值,最后分别调用printName, printWeapon方法 显示二个对象的属性值。 package java2; class XiYouJiRenWu{ double height; String name,weapon; void printName(String name){ System.out.println("name:"+name);} void printWeapon(String weapon){ System.out.println("weapon:"+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.weapon); sunWuKong.printName(sunWuKong.name); sunWuKong.printWeapon(sunWuKong.weapon); }} 3.编写Java应用程序。首先定义一个描述银行账户的Account类,包括成员变 量“账号”和“存款余额”,成员方法有“存款”、“取款”和“余额查询”。其次, 编写一个主类,在主类中测试Account类的功能。 class Account{ protected String AccountNumber; 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的余额是:%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()用于显示时钟对象的时间。其次,再定义 一个主类——TestClass,在主类的main方法中创建多个时钟类的对象,使用这 些对象调用方法show()来显示时钟的时间。 class Clock{ int 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 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应用程序。首先,定义描述学生的类——Student,包括学号(int)、 姓名(String)、年龄(int)等属性;二个方法:Student(int stuNo,String name,int age) 用于对对象的初始化,outPut()用于输出学生信息。其次,再定义一个主类—— TestClass,在主类的main方法中创建多个Student类的对象,使用这些对象来测 试Student类的功能。 class Student{ int 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=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 Print{ void output() { int a,b,c; for(int i=100;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(int x),如果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 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)编写主类: 创建一个对象猫,姓名为“妮妮”,毛色为“灰色”,年龄为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(); System.out.println("颜色是"+cat.color+" 年龄是"+cat.age+"岁"); cat.shout("喵喵~~"); } } 9.创建一个三角形类,成员变量三边,方法求周长,创建类主类A来测试它。 class triangle{ int 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.showperimeter(); } } 10.按要求编写Java应用程序。 (1)创建一个叫做People的类: 属性:姓名、年龄、性别、身高 行为:说话、计算加法、改名 编写能为所有属性赋值的构造方法; (2)创建主类: 创建一个对象:名叫“张三”,性别“男”,年龄18岁,身高1.80; 让该对象调用成员方法: 说出“你好!” 计算23+45的值 将名字改为“李四” class People{ String 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=%d\n",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,45); t.rename("李四"); } } 11.按要求编写Java应用程序。 (1)创建一个叫做机动车的类: 属性:车牌号(String),车速(int),载重量(double) 功能:加速(车速自增)、减速(车速自减)、修改车牌号,查询车的载重量。 编写两个构造方法:一个没有形参,在方法中将车牌号设置“XX1234”,速 度设置为100,载重量设置为100;另一个能为对象的所有属性赋值; (2)创建主类: 在主类中创建两个机动车对象。 创建第一个时调用无参数的构造方法,调用成员方法使其车牌为“辽 A9752”,并让其加速。 创建第二个时调用有参数的构造方法,使其车牌为“辽B5086”,车速为150, 载重为200,并让其减速。 输出两辆车的所有信息 class Car{ String 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; } 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.speed+" 载重量:"+c1.deadweight); System.out.println(c2.number+" 车速:"+c2.speed+" 载重量:"+c2.deadweight); } } 12.创建一个Point类,有成员变量x,y,方法getX(),setX(),还有一个构造方 法初始化x和y。创建类主类A来测试它。 class Point{ private 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; } } 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 ChongZai{ public 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,double 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,6)); } } 二、 数组相关(共4题) 14.已知2个一维数组:a[]={3,4,5,6,7},b[]={1,2,3,4,5,6,7};把数组a与数组b 对应的元素乘积再赋值给数组b,如:b[2]=a[2]*b[2];最后输出数组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(int i=0;i<5;i++) b[i]*=a[i]; for(int j:b) System.out.print(j+","); } } 15.找出如下数组中最大的元素和最小的元素, a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}} public class A{ public static void main(String args[]){ int[][] a={{3,2,6},{6,8,2,10},{5},{12,3,23}}; int min=a[0][0],max=a[0][0]; for(int i=0;i<4;i++) { for(int j=0;j<a[i].length;j++) { if(a[i][j]>max) max=a[i][j]; if(a[i][j]<min) min=a[i][j]; } } System.out.println("最大的元素是"+max+"\n最小的元素是"+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 int[50]; int j=0,k=0; for(int i=0;i<50;i++) { x[i]=2*i+1; System.out.print(x[i]+"\t"); j++; if(j%10==0) System.out.println(); } char[][] y=new char[10][10]; for(int r=0;r<10;r++) { for(int w=0;w<10;w++) {if((r==w)||(9-r==w)) y[r][w]='*'; else y[r][w]='#'; System.out.print(y[r][w]+"\t"); k++; if(k%10==0) System.out.println(); } } } } 17.从键盘上输入一个正整数n,请按照以下五行杨辉三角形的显示方式, 输出杨辉三角形的前n行。请采用循环控制语句来实现。 (三角形腰上的数为1,其他位置的数为其上一行相邻两个数之和。) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 import java.util.Scanner; public class Text{ public static void main(String args[]){ Scanner sc=new Scanner(System.in); System.out.println("请输入杨辉三角形n的值:(0~~25)"); int n=sc.nextInt(); int a[][]=new int[25][25]; for(int i=0;i<n;i++) a[i][0]=1; for(int i=1;i<n;i++) for(int j=1;j<=i;j++) {if(i==j) a[i][j]=1; else a[i][j]=a[i-1][j]+a[i-1][j-1]; } for(int i=0;i<n;i++) { for(int j=0;j<=i;j++) System.out.print(a[i][j]+"\t"); System.out.println();} } } 三、 继承相关(共13题) 18.实现如下类之间的继承关系,并编写Music类来测试这些类。 class Instrument{ public void play(){ System.out.println("弹奏乐器"); } } class Wind extends Instrument{ @Override public void play(){ System.out.println("弹奏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 Music{ public 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); } } 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 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 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("坐如钟,站如松,睡如弓"); }} 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.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),并且有个public void speak() 方法,在speak方法中输出“咿咿呀呀......”的信息。 (2)People类是Monkey类的子类,在People类中重写方法speak(),在speak方法 中输出“小样的,不错嘛!会说话了!”的信息。 (3)在People类中新增方法void think(),在think方法中输出“别说话!认真思考!” 的信息。 (4)在主类E的main方法中创建Monkey与People类的对象类测试这2个类的功 能。 class Monkey{ Monkey (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(){ System.out.println("别说话!认真思考!"); } } public class E{ public 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(不允许重写), 子类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 C { public static
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 通信科技 > 开发语言

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服