标题:为什么总是报“缺少return”错误?
只看楼主
无心剑
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-8-4
 问题点数:0 回复次数:2 
为什么总是报“缺少return”错误?

//----------三角形边长的判断---------------------
class SanJiao
{

//求最大值

static Double Max(Double a,Double b,Double c){
if (a>=b)
{
if (a>=c)
{
return a;
}
else if (a<c)
{
return c;
}
}
else{
if (b>=c)
{
return b;
}
else if (b<c)
{
return c;
}
}
}

//求最小值
static Double Min(Double a,Double b,Double c){
if (a<=b)
{
if (a<=c)
{
return a;
}
else if (a>c)
{
return c;
}
}
else{
if (b<=c)
{
return b;
}
else if (b>c)
{
return c;
}
}
}

public static void main(String[] args)
{
Double a=Double.parseDouble(args[0]);
Double b=Double.parseDouble(args[1]);
Double c=Double.parseDouble(args[2]);
if ((a>0)&&(b>0)&&(c>0))
{

Double max=Max(a,b,c);
Double min=Min(a,b,c);
Double mid=a+b+c-max-min;
if (((min+mid)>max)&&((max-mid)<min))
{
System.out.println("这三条线段可以组成一个三角形!");
}
else{
System.out.println("这三条线段不能组成一个三角形");
}
}
else{
System.out.println("三角形的边长不能为零或负值!");
}
}
}
这是我编的一个判断三个数是否可以组成一个三角形的程序,但是调试时总是报“缺少返回语句”错误,请各位帮忙查一下!

搜索更多相关主题的帖子: 缺少return 
2006-11-04 16:21
weiweiqiao
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2005-7-29
得分:0 
你的判断语句写的有问题。。。以求最小值为例:
if (a<=b)
{
if (a<=c)
{
return a;
}
else if (a>c)
{
return c;
}
}
斜体部分你不应当在出现if语句。如果此时(a < c)则不会return c(虽然从流程中看不会出现此类问题,上面的if(a <= c) 已经保证了a小于等于c,但是逻辑上不完备。故报错),应该为:
if (a<=b)
{
if (a<=c)
{
return a;
}
else {
return c;
}
}
else{
if (b<=c)
{
return b;
}
else {
return c;
}
}
你在传参数是Double,方法中应当使用Double.doubleValue()比较吧?


maCr.Qw
2006-11-04 17:06
无心剑
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2006-8-4
得分:0 
明白了,谢谢!!
2006-11-04 17:29



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-100724-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.454500 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved