Java编程题解读.docx
《Java编程题解读.docx》由会员分享,可在线阅读,更多相关《Java编程题解读.docx(19页珍藏版)》请在冰豆网上搜索。
Java编程题解读
程序题
1.计算1/1+1/2+1/3+….+1/100的值。
代码如下:
publicclassDemo1{
publicstaticvoidmain(String[]args){
doublesum=0;
doublen=1;
while(n<=100){
sum+=1/n;
n++;
}
System.out.println(sum);
System.out.println("+++++++++++++");
System.out.println("CZ04112267");
System.out.println("徐延迟");
}
}
2.设计计算阶乘的函数为:
m(n)=n!
。
设计一个计算阶乘的方法和相应的类,并利用这个类计算4的阶乘。
代码如下:
publicclassDemo2{
publicstaticintjieCheng(intn){
if(n==1||n==0)
returnn;
else
returnn*jieCheng(n-1);
}
publicstaticvoidmain(String[]args){
System.out.println(jieCheng(4));
System.out.println("++++++++++++++++");
System.out.println("CZ04112267");
System.out.println("徐延迟");
}
}
3.编写一个应用程序,可以计算result=1!
+2!
+…+100!
。
并输出。
代码如下:
publicclassDemo3{
publicstaticvoidmain(String[]args){
System.out.println(sum(100));
System.out.println("++++++++++++++");
System.out.println("CZ04112267");
System.out.println("徐延迟");
}
publicstaticintsum(intn){
intsum=0;
while(n>=0){
sum=sum+jiecheng(n);
n--;
}
returnsum;
}
publicstaticintjiecheng(intn){
if(n==1||n==0){
returnn;
}else{
returnn*jiecheng(n-1);
}
}
}
4.将整数数组a赋初值(含8个元素),并求出a中的最大元素和最大元素的下标。
代码如下:
publicclassDemo4{
publicstaticvoidmain(String[]args){
intarr[]={9,5,8,6,4,2,3,18};
intmaxIndex=0,max=arr[0];
for(inti=0;iif(arr[i]>max){
maxIndex=i;
}
}
System.out.println("最大的元素为:
"+arr[maxIndex]+"其下标为:
"+maxIndex);
System.out.println("++++++++++++++");
System.out.println("CZ04112267");
System.out.println("徐延迟");
}
}
5.从一堆数组中找出最大的元素和最小的元素
代码如下;
publicclassDemo5{
publicstaticvoidmain(String[]args){
intarr[]={33,56,9,46,99,5656,5,6,4,9};
intmax,min;
max=min=arr[0];
for(inti=0;iif(arr[i]>max){
max=arr[i];
}
if(arr[i]min=arr[i];
}
}
System.out.println("最大值为:
"+max+"\n最小值为:
"+min);
System.out.println("++++++++++++++");
System.out.println("CZ04112267");
System.out.println("徐延迟");
}
}
6.计算二维数组中各行元素之和并查找其值最大的那个行,假定元素值都为正整数。
代码如下:
publicclassDemo6{
publicstaticvoidmain(String[]args){
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;
for(inti=0;iintj;
for(j=0;jsum+=arr[i][j];
}
if(sum>maxSum){
maxSum=sum;
indexI=i;
}
System.out.println("第"+(i+1)+"行的数组之后为:
"+sum);
}
System.out.println("最大一行为:
"+(indexI+1));
System.out.println("+++++++++++++++++++++++++++");
System.out.println("CZ04112267");
System.out.println("徐延迟");
}
}
7.定义一个计算n!
的类Fact,然后在主类Class1中创建一个对象N,求解4!
的值。
代码如下
publicclassDemo7{
publicstaticvoidmain(String[]args){
FactN=newFact();
System.out.println(N.jiecheng(4));
System.out.println("+++++++++++++++");
System.out.println("CZ04112267");
System.out.println("徐延迟");
}
}
classFact{
publicintjiecheng(intn){
if(n==0||n==1){
returnn;
}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;//代表性别(其中:
true表示男,false表示女)
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;
}
publicstaticvoidmain(String[]args){
Demo8d=newDemo8();
System.out.println(d.toString());
System.out.println("+++++++++++++++++++++++++++");
System.out.println("CZ04112267");
System.out.println("徐延迟");
}
}
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);
System.out.println("b-c="+b.add(c).m+"i-"+b.add(c).n);
System.out.println("++++++++++++++++