JAVA程序分析及编程题。回答得好可追加积分。
三、程序分析题1.
class First{
public void aMethod()
{
System.out.println("inFirstclass");
}
}
public class Second extends First
{
public void aMethod()
{
System.out.println("inSecondclass");
}
public static void main(String[ ] args)
{
Second s=new Second( );
s.aMethod();
}
}
结果:
2.
public class ChangeStrDemo
{
public static void changestr(String str)
{
str="welcome";
}
public static void main(String[] args)
{
String str="5678";
changestr(str);
System.out.println(str);
}
}
结果:
3.
public class FooDemo{
static boolean foo(char c)
{
System.out.print(c);
return true;
}
public static void main(String[] args)
{
int i=0;
for (foo('a'); foo('b')&&(i<2); foo('c')){
i++ ;
foo('d');
}
System.out.println("\n");
}
}
结果:
四、编程题
1.利用面向对象知识,实现一个长方体的体积、表面积的计算,要求长方体的初始体积是1,可以修改相应的长、宽、高的值。
2.输出等腰*型图。
3.编程实现水仙花数。
答案:1,结果输出:inSecondclass,因为 Second 继承First,并重写了aMethod()方法,所以调用的是子类重写的方法,因此输出 inSecondclass;2,结果输出:welcome,因为changestr(String str)接受一个字符串,str是String的一个实例,将str传入changestr(String str),就是将str的引用传如此方法,修改了str的值,所以输出修改后的结果:welcome;
3,结果输出:abdcbdcb,因为for循环的执行过程是这样的:for(1;2;3),先执行1,然后执行2进行判断,为true则执行循环体,循环体结束执行3,然后执行2判断为true,在执行循环体,循环体结束在执行3,然后2……这样循环,1232323232……这样执行,1只执行一次,所以开始执行1:foo('a'); ,输出a,然后执行2: foo('b')&&(i<2); ,输出b,i=0<2为true,执行循环体,i++为1,输出d;然后执行3,输出c,然后执行2,输出b,i=1<2为true,执行循环题,i++为2,输出d;然后执行3,输出c,然后执行2,输出b,i=2<2为false,不执行循环体,结束,最后输出了一个\n换行。
第四题
1,
public class Cuboid {
private int length;//长度
private int width;//宽度
private int height;//高度
private int vol;//体积
private int area;//表面面积
public Cuboid(){
vol=1;//体积初始值是1
}
//设置长宽高的方法
public void setLength(int length) {
this.length = length;
}
public void setWidth(int width) {
this.width = width;
}
public void setHeight(int height) {
this.height = height;
}
//计算体积
public int getVol(){
vol=length*width*height;
return vol;
}
//计算表面积
public int getArea(){
area=(length*width+length*height+width*height)*2;
return area;
}
//测试程序
public static void main(String[] args){
Cuboid r=new Cuboid();//创建一个长方体
r.setLength(10);//设置长度
r.setWidth(5);//设置宽度
r.setHeight(6);//设置高度
System.out.println("长方体的体积为:"+r.getVol());
System.out.println("长方体的表面积为:"+r.getArea());
}
}
2,
public class Triangle {
public static void main(String[] args){
for(int i=0;i<5;i++){
for(int j=0;j<5+i;j++){
if(j<5-i-1){
System.out.print(" ");
continue;
}
System.out.print("* ");
}
System.out.println();
}
}
}
3,
public class ShuiXianHua {
public static void main(String[] args){
for(int i=1;i<10;i++){
for(int j=0;j<10;j++){
for(int k=0;k<10;k++){
if((i*i*i+j*j*j+k*k*k)==(i*100+j*10+k)){
System.out.println(i*100+j*10+k+" ");
}
}
}
}
}
}
有疑问再问我
1.inSecondclass 2.welcome 3.不会
上一个:学习.Net好还是Java好?以后的就业前景怎样?
下一个:为什么同样都是JAVA MIDP2.0的运行速度差距就那么大叻?