java高手请帮帮忙啊~~谢谢啦~

来源:百度知道 编辑:UC知道 时间:2024/09/21 05:29:30
class 梯形
{ float 上底,下底,高,面积;
梯形(float x,float y,float h)
{ 上底=x;
下底=y;
高=h;
}
float 计算面积()
{ 面积=(上底+下底)*高/2.0f;
return 面积;//这个是做什么的呢??为什么要return呢??
}
void 修改高(float height)
{ 高=height;
}
float 获取高()
{ return 高;//这个是做什么的呢??为什么要return呢??
}
}
public class Example4_4
{ public static void main(String args[])
{ 梯形 laderOne=new 梯形(12.0f,3.5f,50),laderTwo=new 梯形(2.67f,3.0f,10);
System.out.println("laderOne的高是:"+laderOne.获取高());
System.out.println("laderTwo的高是:"+laderTwo.获取高());
System.out.println("laderOne的面积是:"+laderOne.计算面积());
System.out.println("laderTwo的面积是:"+laderTwo.计算面积());
laderOne.修改高(10);
float h=laderOne.获取高();
laderTwo.修改高(h*2);
System.out.println("laderOne现在的高是:"+laderOne.获取高());
System.out.println("laderTwo现在的高是:"+laderTwo.获取高());
System.out.p

晕,这个跟方法的修饰有关。

方法不是常常有void啊int啊float啊String啊什么的修饰符么,你这里是float,float 获取高() {}
这个修饰是什么意思呢?
举个例子把,
int x;
int getX(){return 1;}

如果我们写这样一句:
x=getX();
意思是getX()这个函数处理的结果是一个整数(int get(){}这个int前缀决定的),然后把getX()函数处理的结果赋值给x,就是“=”号。

同样的道理,每个函数处理完后,都会有个结果。return就是告诉程序说,这个函数的结果是什么东东。比如:

int sum(int x,int y){
int s;
s=x+y;
return s;
}
我们调用这个函数可以这样:
int ss;
ss=sum(1,2);
然后我们可以得到ss的值是3.
意思就是,sum()函数处理完后,把s的值做为最后函数处理的结果。供调用。
如果我们把上面的程序改了,改成:
int sum_0(int x,int y){
int s;
s=x+y;
return x;
}
然后再用:
int ss1;
ss1=sum0(1,2);
但是我们得到ss1的值是1,为什么呢?因为sum_0()这个函数中虽然有s=x+y这么一条,但是它用return告诉程序说,我这个函数处理的结果是x(return x;),那么sum_0()处理的结果值就等于x了,和加法没有关系了。

void 修饰的函数就是啥都不返回,方法执行就执行了,不会得到一个值,所以没有return语句。一般用来打印出结果啊什么的,你说打印结果我们要得到什么值啊??(有时候也是可能有的^_^)

总之,函数有计算的功能嘛,你总的告诉程序说,你计算的结果到底是哪个啊?就是那个return决定的。