import javax.swing.JOptionPane;
public class Mate {
double suma (double x1,double x2)
{return x1+x2;}
double suma (double x1,double x2,double x3)
{return x1+x2+x3;}
double suma (int num [ ])
{int i=num.length;
int j=0;
int s=0;
for(j=0;j < i;j++)
{return (double)(s);}}} // here appears the error "missing return statement"
class AplicacionMate
{public static void main (String arg [])
{int n[ ]={5,4,3,2,1};
double r=0.0;
Mate m=new Mate ( );
r=m.suma(5,4);
JOptionPane.showMessageDialog(null,"La suma 1="+r);
r=m.suma(5,5,4);
JOptionPane.showMessageDialog(null,"La suma 2="+r);
r=m.suma(n);
JOptionPane.showMessageDialog(null,"La suma del arreglo="+r);
System.exit(0);}}
答案 0 :(得分:3)
我冒昧地格式化你的代码。这是方法的外观:
double suma (int num [ ]) {
int i=num.length;
int j=0;
int s=0;
for(j=0;j < i;j++) {
return (double)(s);
}
}
我怀疑你试图编写一个sum-method,以stub开头,并且没有编译它。这可能是你的想法:
double suma (int num [ ]) {
int i=num.length;
int j=0;
int s=0;
for(j=0;j < i;j++) {
// here you probably want s += num[j];
}
return (double)(s);
}
Java编译器只能推断出在非常简单的情况下可以访问语句(例如return
)。 (为了说明:这个方法做编译。虽然不是很有用!)
double suma (int num [ ]) {
int i=num.length;
int j=0;
int s=0;
for(j=0; true; j++) {
return (double)(s);
}
}
答案 1 :(得分:1)
for(j=0;j < i;j++)
{return (double)(s);}}} // here appears the error "missing return statement"
可能存在没有进入循环的情况,因此它不会返回任何内容。
您需要确保它应该返回所有案例