java方法为什么一定要return返回语句,帮我看看这个程序
publicinterfaceMianJi{publicabstractdoublemianji();//定义面积接口}classPoint{privateintx;pr...
public interface MianJi{
public abstract double mianji(); //定义面积接口
}
class Point {
private int x;
private int y;
public Point(int X, int Y) {
x=X; //构造函数
y=Y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
class SanJiao implements MianJi{
boolean boo;
double sideA,sideB,sideC;
public double area,length;
Point aa,bb,cc;
public SanJiao(){
}
public SanJiao(double a,double b,double c){
sideA=a;
sideB=b;
sideC=c;
}
public SanJiao(Point A,Point B,Point C){
aa=A;
bb=B;
cc=C;
sideA=Math.sqrt(Math.pow(aa.getX()-bb.getX(),2)+Math.pow(aa.getY()-bb.getY(),2));
sideB=Math.sqrt(Math.pow(cc.getX()-bb.getX(),2)+Math.pow(cc.getY()-bb.getY(),2));
sideC=Math.sqrt(Math.pow(aa.getX()-cc.getX(),2)+Math.pow(aa.getY()-cc.getY(),2));
}
public double mianji(){
if((sideA+sideB)>sideC&&(sideA+sideC)>sideB&&(sideB+sideC)>sideA)
boo=true;
else
boo=false;
if(boo){
double p=(sideA+sideB+sideC)/2.0;
area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
length=sideA+sideB+sideC;
}
return area;
}
}
class Test{
public static void main(String[] args){
Point l= new Point(3,3);
Point z= new Point(3,8);
Point w= new Point(9,3);
SanJiao s= new SanJiao();
SanJiao s1= new SanJiao(3,4,5);
SanJiao s2= new SanJiao(l,z,w);
System.out.println(s1.mianji());
System.out.println(s1.length);
System.out.println(s2.mianji());
System.out.println(s2.length);
}
}
在这个程序里我想不要 return area;可它总说我缺少返回语句,如果我想能返回两个值怎么返回。
在方法里面定义一个带参数的方法 不就解决问题了 多带几个参数就好了 我还不明白如何能达到达回多个值
或者把两个值放在一个集合中(例如:数组),返回集合就行 这种方法是怎样做能写出来吗,不好意思我还刚学不久 展开
public abstract double mianji(); //定义面积接口
}
class Point {
private int x;
private int y;
public Point(int X, int Y) {
x=X; //构造函数
y=Y;
}
public int getX() {
return x;
}
public void setX(int x) {
this.x = x;
}
public int getY() {
return y;
}
public void setY(int y) {
this.y = y;
}
}
class SanJiao implements MianJi{
boolean boo;
double sideA,sideB,sideC;
public double area,length;
Point aa,bb,cc;
public SanJiao(){
}
public SanJiao(double a,double b,double c){
sideA=a;
sideB=b;
sideC=c;
}
public SanJiao(Point A,Point B,Point C){
aa=A;
bb=B;
cc=C;
sideA=Math.sqrt(Math.pow(aa.getX()-bb.getX(),2)+Math.pow(aa.getY()-bb.getY(),2));
sideB=Math.sqrt(Math.pow(cc.getX()-bb.getX(),2)+Math.pow(cc.getY()-bb.getY(),2));
sideC=Math.sqrt(Math.pow(aa.getX()-cc.getX(),2)+Math.pow(aa.getY()-cc.getY(),2));
}
public double mianji(){
if((sideA+sideB)>sideC&&(sideA+sideC)>sideB&&(sideB+sideC)>sideA)
boo=true;
else
boo=false;
if(boo){
double p=(sideA+sideB+sideC)/2.0;
area=Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
length=sideA+sideB+sideC;
}
return area;
}
}
class Test{
public static void main(String[] args){
Point l= new Point(3,3);
Point z= new Point(3,8);
Point w= new Point(9,3);
SanJiao s= new SanJiao();
SanJiao s1= new SanJiao(3,4,5);
SanJiao s2= new SanJiao(l,z,w);
System.out.println(s1.mianji());
System.out.println(s1.length);
System.out.println(s2.mianji());
System.out.println(s2.length);
}
}
在这个程序里我想不要 return area;可它总说我缺少返回语句,如果我想能返回两个值怎么返回。
在方法里面定义一个带参数的方法 不就解决问题了 多带几个参数就好了 我还不明白如何能达到达回多个值
或者把两个值放在一个集合中(例如:数组),返回集合就行 这种方法是怎样做能写出来吗,不好意思我还刚学不久 展开
7个回答
展开全部
java所有的方法(或叫函数)分3种
1、void 型,不返回东西
2、返回型,返回值的类型就是方法的类型,所以一看public double mianji(){ },就知道要返回一个 double 值
3、构造函数也叫构造方法,一般用来赋初始值的,随 new()调用
要返回两个值,或者把两个值分开放两个方法中
或者把两个值放在一个集合中(例如:数组),返回集合就行
1、void 型,不返回东西
2、返回型,返回值的类型就是方法的类型,所以一看public double mianji(){ },就知道要返回一个 double 值
3、构造函数也叫构造方法,一般用来赋初始值的,随 new()调用
要返回两个值,或者把两个值分开放两个方法中
或者把两个值放在一个集合中(例如:数组),返回集合就行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不要有返回值 就不要定义有返回值的方法
比如:
public String getString(){
return "123dff";//这种就是有返回值的。需要返回一个String.
}
public void setString(){}这种方法是没有返回值的。也就是说。用了void就不会有返回值 。当然。void和返回值类型不能同时存在。
比如:
public String getString(){
return "123dff";//这种就是有返回值的。需要返回一个String.
}
public void setString(){}这种方法是没有返回值的。也就是说。用了void就不会有返回值 。当然。void和返回值类型不能同时存在。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你不想 return area ,就把 double 改成 void 。如果你想返回两个值。告诉你,是不可能的,一个方法只能有一个返回值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一种方法没有返回值的 把public后面的改成 void
return 返回的只能是一个值也
但你可以在方法里面定义一个带参数的方法 不就解决问题了 多带几个参数就好了
也可以是布尔类型
return 返回的只能是一个值也
但你可以在方法里面定义一个带参数的方法 不就解决问题了 多带几个参数就好了
也可以是布尔类型
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public abstract double mianji();
你定义了返回类型double 就必须return一个double值
void的话不用return
你定义了返回类型double 就必须return一个double值
void的话不用return
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询