y[i]=x[i]*x[i]*x[i];
returny;
}
}
3.请编写Applet,它由三个类定义组成;类A中只定义了一个类型为int的属性x和带有一个参数的构造函数(初始化x);类B是类A的子类,其中也仅定义了一个类型为float的属性y和一个带两个参数的构造函数(用来为父类中的变量x和本类的变量y做初始化);主类Applet1中定义了一个初值为'a'的字符型变量ch和一个B类的对象b,请通过创建b为上述x和y赋值(x的值为100,y的值为12.3),用paint()方法在(20,30)位置处显示x,y,ch的值。
importjava.awt.*;
importjava.applet.*;
publicclassApplet1extendsApplet
{
charch='a';
Bb=newB(100,12.3f);
publicvoidpaint(Graphicsg)
{g.drawString("x="+b.x+"\ty="+b.y+"\tch="+ch,20,30);}
}
classA
{
intx;
A(intx1)
{x=x1;}
}
classBextendsA
{
floaty;
B(intx2,floaty1)
{super(x2);y=y1;}
}
4.请编写Applet,它由两个类定义组成:
类A中定义了int型变量i和float型变量x,及一个带两个参数的构造函数(为变量i和x做初始化)。
主类Applet1中创建了一个A类的对象a(i的初始值2,x的初始值8.0),还定义了一个方法b,b的参数和返回值均为A类的对象,功能为将参数对象的属性i加1,属性x加2。
请用paint()方法在(20,30)位置处显示调用b(a)后的结果。
importjava.awt.*;
importjava.applet.*;
publicclassApplet1extendsApplet
{
Aa=newA(2,8.0f),c;
Ab(Aa1)
{a1.i++;a1.x+=2;returna1;}
publicvoidinit()
{c=b(a);}
publicvoidpaint(Graphicsg)
{g.drawString("i="+c.i+"\t"+"x="+c.x,20,30);}
}
classA
{
inti;
floatx;
A(intj,floaty)
{i=j;x=y;;}
}
5.按如下要求定义两个类A和B,类A中定义一个int类型属性x(将其赋值为8)和一个在命令行下输出x值的方法myPrint()。
类B是类A的子类,其中也定义一个int类型属性y(将其赋值为16)和String类型的属性s(将其赋值为"javaprogram!
");一个在命令行下输出y和s值的方法myPrint();类B中还有一个方法printAll(),该方法中分别调用父类和子类的myPrint()方法。
编写Application,创建类类B的对象b,调用printAll()方法,输出结果。
publicclassClass1
{
publicstaticvoidmain(Stringargs[])
{
Bb=newB();
b.printAll();
}
}
classA
{
intx=8;
publicvoidmyPrint()
{System.out.println("x="+x);}
}
classBextendsA
{
inty=16;
Strings="javaprograme!
";
publicvoidmyPrint()
{
System.out.println("y="+y);
System.out.println("s="+s);
}
voidprintAll()
{
super.myPrint();
myPrint();
}
}
6.请编写一个Applet,其中包含三个同名方法area()。
有一个参数的area(doubler)方法用来求圆的面积(圆的面积公式:
Math.PI*r*r,r是圆的半径),其返回值是double类型;有二个参数的area(doubled,doubleh)方法用来求长方形的面积,其返回值是double类型;还有一个含二个整型参数的area(intd,inth)方法用来求三角形的面积,其返回值是double类型;在主类Applet1中的paint()方法中调用该三个方法,分别求半径为5.0的圆的面积,输出位置为(20,20);长、宽为5.0、5.0的长方形的面积,输出位置为(20,40);底、高为5、5的三角形的面积,输出位置为(20,60)。
importjava.awt.*;
importjava.applet.*;
publicclassApplet1extendsApplet
{
publicvoidpaint(Graphicsg)
{
g.drawString("半径为5的圆的面积"+area(5.0),20,20);
g.drawString("长、宽为5、5的长方形的面积"+area(5.0,5.0),20,40);
g.drawString("底、高为5、5的三角形的面积"+area(5,5),20,60);
}
doublearea(doubler)
{return(Math.PI*r*r);}
doublearea(doubled,doubleh)
{return(d*h);}
doublearea(intd,inth)
{returnd*h/2.0;}
}
7.定义接口myItfc,接口内只有一个名为area的方法,该方法有两个double类型参数,返回类型为double。
请编写一个Applet,其主类名为Applet1。
在主类中定义一个标签L1,并实现接口myItfc,使接口中area方法的参数表示长方形的长、宽,功能是求长方形的面积。
在Applet1中,调用area()方法,通过标签L1显示长宽为6.0、8.0的长方形的面积。
importjava.awt.*;
importjava.applet.*;
publicclassApplet1extendsAppletimplementsmyItfc
{
LabelL1;
publicvoidinit()
{
L1=newLabel("所求长方形的面积:
"+area(6.0,8.0));
add(L1);
}
publicdoublearea(doublex,doubley)
{returnx*y;}
}
interfacemyItfc
{publicabstractdoublearea(doublex,doubley);}
8.定义接口myItfc,接口内有一个常量PI=3.14159;此外还定义了一个名为area方法,该方法有一个double类型参数,返回类型也为double。
请编写一个Applet,其中有一个标签L1,在Applet实现接口myItfc,接口中area方法参数表示立方体的边长(立方体是指长、宽、高均相等的长方体),功能是求立方体的体积。
在Applet中,调用area()方法,通过标签L1显示边长为8.0的立方体的体积。
importjava.awt.*;
importjava.applet.*;
publicclassApplet1extendsAppletimplementsmyItfc
{
LabelL1;
publicvoidinit()
{
L1=newLabel("所求立方体的体积:
"+area(8.0));
add(L1);
}
publicdoublearea(doublex)
{
returnx*x*x;
}
}
interfacemyItfc
{publicabstractdoublearea(doublex);}
9.请编写Applet,它由三个类定义组成;类A中只定义了一个类型为double的属性x和带有一个参数的构造函数(初始化x);类B是类A的子类,其中也仅定义了一个类型为String的属性y和一个带两个参数的构造函数(用来为父类中的变量x和本类的变量y做初始化);主类Applet1中定义了一个初值为'd'的字符型变量ch和一个B类的对象b,请通过创建b为上述x和y赋值(x的值为3.0,y的值为"javaprograme."),用paint()方法在(20,30)位置处显示x,y,ch的值。
importjava.awt.*;
importjava.applet.*;
publicclassApplet1extendsApplet
{
charch='z';
Bb=newB(3.0,"javaprograme.");
publicvoidpaint(Graphicsg)
{
g.drawString("x="+b.x+"\ty="+b.y+"\tch="+ch,20,30);
}
}
classA
{
doublex;
A(doublex1){x=x1;}
}
classBextendsA
{
Stringy;
B(doublex2,Stringy1){super(x2);y=y1;}
}
10.请编写Application,它由三个类定义组成,类名分别为A、B和Class1:
类A中定义了一个类型为String的属性str和一个类型为int的私有属性n,n的初值为123456;类A还定义了一个带有一个参数的构造函数(用于初始化str),和一个返回值类型为int的公共方法getn(),功能为返回私有属性n的值。
类B是类A的子类,其中仅定义了一个类型为float的属性x和一个带两个参数的构造函数(用来为父类中的变量str和本类的变量x做初始化)。
主类Class1中定义了一个初值为true的boolean型变量bool和一个B类的对象b,请通过创建b为上述str和x赋值(str的值为"java",x的值为12345.6),在主方法main()中输出str,n,x,bool的值。
importjava.io.*;
publicclassClass1
{
staticbooleanbool=true;
staticBb=newB("java",12345.6f);
publicstaticvoidmain(Stringargs[])
{
System.out.println("str="+b.str+"\tn="+b.getn()+"\tx="+b.x+"\tbool="+bool);
}
}
classA
{
Stringstr;
privateintn=123456;
A(Strings){str=s;}
publiclonggetn()
{
returnn;
}
}
classBextendsA
{
floatx;
B(Strings,floaty){super(s);x=y;}
}
二、使用数学类(共4题)
1.请编写一个Applet,其功能为:
取一个小于10000的正随机整数,并输出该数的平方根。
importjava.awt.*;
importjava.applet.*;
publicclassApplet1extendsApplet
{
intx;
publicvoidinit()
{
x=(int)(Math.random()*10000);
}
publicvoidpaint(Graphicsg)
{
g.drawString(""+x+"的平方根="+Math.sqrt(x),25,25);
}
}
2.请编写一个Applet,其功能为:
取两个小于1000的正随机整数,以如下形式在坐标(25,25)显示它们(假设它们分别为262、773)的和:
262+773=1035
importjava.awt.*;
mportjava.applet.*;publicclassApplet1extendsApplet
{
intx,y;
publicvoidinit()
{
x=(int)(Math.random()*1000);
y=(int)(Math.random()*1000);
}
publicvoidpaint(Graphicsg)
{
g.drawString(""+x+"+"+y+"="+(x+y),25,25);
}
}
3.请编写一个Applet,其功能为:
取两个小于5000的正随机整数,求它们差的绝对值,并输出结果。
importjava.awt.*;importjava.applet.*;
publicclassApplet1extendsApplet
{
intx,y;
publicvoidinit()
{
x=(int)(Math.random()*5000);
y=(int)(Math.random()*5000);
}
publicvoidpaint(Graphicsg)
{
g.drawString("|"+x+"-"+y+"|="+Math.abs(x-y),25,25);
}
}
4.请编写一个Applet,其功能为:
取10个0~1之间的随机double数,求它们的和并显示,结果保留到小数点后2位。
importjava.awt.*;
importjava.applet.*;
publicclassApplet1extendsApplet
{
doubled[]=newdouble[10],sum;
publicvoidinit()
{
for(inti=0;id[i]=Math.random();
for(inti=0;isum+=d[i];
}
publicvoidpaint(Graphicsg)
{
g.drawString("sum="+(int)(sum*100+0.5)/100.0,25,25);
}
}
三、应用程序命令行传参数(共6题)
1.请编写一个实现如下功能的Application:
比较命令行中给出的两个整数是否相等,并根据比较结果显示"相等"或"不相等"。
importjava.io.*;
publicclasstest_compare
{
publicstaticvoidmain(String[]args)
{
intx,y;
Stringstr="";
if(args.length<2)
{
System.out.println("请在命令行输入两个参数");
System.exit(-1);
}
x=Integer.parseInt(args[0]);
y=Integer.parseInt(args[1]);
if(x==y)str="命令行输入的两个参数相等";
elsestr="命令行输入的两个参数不相等";
System.out.println(str);
}
}
2.编写一个Application程序,比较命令行中给出的两个字符串是否相等,并输出比较的结果。
importjava.io.*;
publicclassClass1
{
publicstaticvoidmain(String[]args)
{
if(args.length<2)
{
System.out.println("Usage:
string1string2");
System.exit(-1);
}
if(args[0].equals(args[1]))
System.out.println(args[0]+"和"+args[1]+"相等");
else
System.out.println(args[0]+"和"+args[1]+"不等");
}
}
3.从命令行传入3个整数,求3个整数的和、积、最大值、最小值。
publicclassClass1
{
publicstaticvoidmain(String[]args)
{
intn=args.length;
if(n<3)
System.out.println("请输入三个整数!
");
else
{
inta,b,c;
a=Integer.parseInt(args[0]);
b=Integer.parseInt(args[1]);
c=Integer.parseInt(args[2]);
System.out.println("和:
"+(a+b+c));
System.out.println("积:
"+(a*b*c));
System.out.println("最大值:
"+Math.max(c,Math.max(a,b)));
System.out.println("最小值:
"+Math.min(c,Math.min(a,b)));
}
}
}
4.请编写一个Application实现如下功能:
通过命令行中给出的float型参数x,和int型参数y(如果参数少于两个,给出提示后退出系统),调用Math类中的方法求x的y次方并输出。
importjava.io.*;
publicclassClass1
{
publicstaticvoidmain(String[]args)
{
intx,y;
Stringstr="";
if(args.length<2)
{
System.out.println("Usage:
number1number2");
System.exit(-1);
}
x=Float.valueOf(args[0]).floatValue();
y=Integer.parseInt(args[1]);
str=str+x+"的"+y+"次方="+(Math.pow(x,y));
System.out.println(str);
}
}
5.编写Application,求从命令行传入任意多个整数的最大值、最小值、平均值。
publicclassClass1
{
publicstaticvoidmain(String[]args)
{
intn=args.length;
if(n==0)
System.out.println("Pleaseinputintnumbers!
");
else
{
intx[]=newint[n];
for(inti=0;ix[i]=Integer.parseInt(args[i]);
System.out.println("max="+ArrayMax(x));
System.out.println("min="+Arra