Java编程题Word下载.docx
《Java编程题Word下载.docx》由会员分享,可在线阅读,更多相关《Java编程题Word下载.docx(19页珍藏版)》请在冰豆网上搜索。
3.编写一个应用程序,可以计算result=1!
+2!
+…+100!
。
并输出。
publicclassDemo3{
System.out.println(sum(100));
++++++++++++++"
}
publicstaticintsum(intn){
intsum=0;
while(n>
=0){
sum=sum+jiecheng(n);
n--;
returnsum;
publicstaticintjiecheng(intn){
if(n==1||n==0){
}else{
returnn*jiecheng(n-1);
4.将整数数组a赋初值(含8个元素),并求出a中的最大元素和最大元素的下标。
publicclassDemo4{
intarr[]={9,5,8,6,4,2,3,18};
intmaxIndex=0,max=arr[0];
for(inti=0;
i<
arr.length;
i++){
if(arr[i]>
max){
maxIndex=i;
}
最大的元素为:
"
+arr[maxIndex]+"
其下标为:
+maxIndex);
5.从一堆数组中找出最大的元素和最小的元素
代码如下;
publicclassDemo5{
intarr[]={33,56,9,46,99,5656,5,6,4,9};
intmax,min;
max=min=arr[0];
max=arr[i];
if(arr[i]<
min){
min=arr[i];
最大值为:
+max+"
\n最小值为:
+min);
6.计算二维数组中各行元素之和并查找其值最大的那个行,假定元素值都为正整数。
publicclassDemo6{
int[][]arr={{11,23,66,77,5},{1,23,5,66,4},
{5,6,8,9},{1,3,4}};
intsum=0;
intmaxSum=0;
intindexI=0;
intj;
for(j=0;
j<
arr[i].length;
j++){
sum+=arr[i][j];
if(sum>
maxSum){
maxSum=sum;
indexI=i;
System.out.println("
第"
+(i+1)+"
行的数组之后为:
+sum);
最大一行为:
+(indexI+1));
+++++++++++++++++++++++++++"
7.定义一个计算n!
的类Fact,然后在主类Class1中创建一个对象N,求解4!
的值。
代码如下
publicclassDemo7{
FactN=newFact();
System.out.println(N.jiecheng(4));
+++++++++++++++"
classFact{
publicintjiecheng(intn){
if(n==0||n==1){
}else{
returnn*jiecheng(n-1);
8.编写一个教师类Teacher,要求:
(1)教师类Teacher属性有:
name:
String类对象,代表姓名
age:
int型,代表年龄
sex:
boolean型,代表性别(其中:
true表示男,false表示女)
phone:
long型,代表联系电话
(2)教师类Teacher方法有:
Teacher(Stringn,inta,Booleans,longp):
有参构造函数,形象表中的
参数分别初始化姓名、年龄、性别和联系电话。
intgetAge():
获取年龄作为方法的返回值
booleangetSex():
获取性别作为方法的返回值
publicStringtoString():
以姓名:
联系电话的形式作为方法的返回值。
publicclassDemo8{
privateStringname="
;
//姓名
privateintage;
//年龄
privatebooleansex;
//代表性别(其中:
privatelongphone=123456;
//联系电话
publicStringgetName(){
returnname;
publicvoidsetName(Stringname){
this.name=name;
publicintgetAge(){
returnage;
publicvoidsetAge(intage){
this.age=age;
publicbooleangetSex(){
returnsex;
publicvoidsetSex(booleansex){
this.sex=sex;
publiclonggetPhone(){
returnphone;
publicvoidsetPhone(longphone){
this.phone=phone;
publicStringtoString(){
returnname+"
:
"
+phone;
Demo8d=newDemo8();
System.out.println(d.toString());
9.定义一个复数类ComplexNumber,其中定义属性来表示复数的实部和虚部,并实现复数的的相加和相减的基本方法
publicclassDemo9{
//main方法
publicstaticvoidmain(String[]a){
Complex1b=newComplex1(2,5);
Complex1c=newComplex1(3,4);
System.out.println("
b+c="
+b.add(c).m+"
i+"
+b.add(c).n);
b-c="
i-"
+++++++++++++++++++"
//Complex类
classComplex1{
publicdoublem;
//实部
publicdoublen;
//虚部
publicComplex1(doublem,doublen){
this.m=m;
this.n=n;
//add
publicComplex1add(Complex1c){
returnnewComplex1(m+c.m,n+c.n);
//jian
publicComplex1jian(Complex1c){
returnnewComplex1(m-c.m,n-c.n);
10.编写一个学生类Student要求:
(1)学生类Student属性有:
id:
long型代表学号
name:
String类对象,代表姓名
age:
int型,代表年龄
(2)学生类Student方法有:
Student(longl,Stringa,intb)有参构造函数,形参表中的参数分别初始化学号、姓名、年龄。
获取年龄作为方法的返回值。
以姓名、学号的形式作为方法的返回值。
publicclassDemo10{
privatelongid;
privateStringname;
publiclonggetId(){
returnid;
publicvoidsetId(longid){
this.id=id;
publicDemo10(longid,Stringname,intage){
super();
@Override
publicStringtoString(){
、"
+id;
Demo10d=newDemo10(110,"
23);
System.out.println(d.toString());
11.编程从三个整数x,y,z中选出最大者。
publicclassDemo11{
intmax=max(155,23,88);
System.out.println(max);
System.out.println("
++++++++++++++++++"
publicstaticintmax(inta,intb,intc){
returnMath.max(Math.max(a,b),c);
12.设计一个交通工具类vehicle,其数据成员包括速度speed和种类bind方法包括设置颜色setColor和取得颜色getColor,再设计一个子类Car,增加属性passenger表示可容纳旅客的人数,添加方法取得最大速度getMaxSpeed。
packaget12;
publicclassvehicle{
privateintspeed=110;
privateStringkind;
publicintgetSpeed(){
returnspeed;
publicvoidsetSpeed(intspeed){
this.speed=speed;
publicStringgetKind(){
returnkind;
publicvoidsetKind(Stringkind){
this.kind=kind;
publicclassCarextendsvehicle{
privateintpassenger;
publicintgetMaxSpeed(){
returnsuper.getSpeed();
Carc=newCar();
System.out.println(c.getMaxSpeed()+"
km/h"
13.定义一个Point类,含有一个print方法,再定义一个类Point3d,继承自父类Point类,并覆盖父类的同名方法print()。
在main方法中分别调用父类和子类的print().
packaget13;
publicclassPoint{
publicvoidprint(){
point方法"
publicclassPoint3dextendsPoint{
publicvoidprint(){
point3d"
Point3dp=newPoint3d();
p.print();
Pointp1=newPoint();
p1.print();
14.定义一个shape抽象类,它包含一个抽象方法getArea(),在shape类上派生出Rectangle和Circle类,两者都用getArea()方法计算对象的面积。
定义一个测试类Test,在该类中计算半径为2的圆的面积和宽度,高度分别为4和3的矩形的面积。
packaget14;
publicabstractclassshape{
publicabstractvoidgetArea();
publicclassCircleextendsshape{
privateintr;
privatefinaldoublePI=3.14159;
publicCircle(intr){
this.r=r;
publicvoidgetArea(){
doublesum=r*r*PI;
Circleareais"
+sum);
publicclassRectangleextendsshape{
privateinta;
privateintb;
publicRectangle(inta,intb){
this.a=a;
this.b=b;
intsum=a*b;
Rectangleareais"
publicclassTest{
Rectangler=newRectangle(4,3);
r.getArea();
Circlec=newCircle
(2);
c.getArea();
15.编写Account类模拟银行储蓄账户,一个储蓄帐号有帐号、余额、年利息等属性,有存款、取款、查询方法。
取款方法中,假设储蓄帐号不允许透支。
packaget15;
publicclassAccount{
privatelongCardId;
privateintbalance=1000;
//余额
privatedoubleaccrual;
//年利息
//存款
publicintdeposit(intm){
this.balance+=m;
returnbalance;
//取款
publicvoidqukuan(intm){
if(this.balance<
=0&
&
this.balance<
m){
余额不足!
}elseif(m<
=this.balance){
this.balance-=m;
取款成功!
//查询
publicvoidquery(){
余额为:
+this.balance);
Accounta=newAccount();
System.out.