Win a copy of The Java Performance Companion this week in the Performance forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Compiler says Missing return statement???

 
Mike Kelly
Ranch Hand
Posts: 78
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi, I tried to write code to test some of the Math methods(), but when I tried to compile, I get a "missing return statement double myMethod" from compiler. Please anyone help

class Testi {
double a = 90.7;
double b = myMethod();
public static void main(String arg[]) {
Testi t = new Testi();
t.myMethod();
}
double myMethod(){
Math.ceil(a);
System.out.println(b);
}
}
 
Rob Ross
Bartender
Posts: 2205
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator


You declare that this method returns a double, don't you? It says "double myMethod()". That tells the compiler, as well as anyone using this class, to expect a double value to be returned when the method ends.
But you're not returning *anything*, let alone a double value.
 
Mike Kelly
Ranch Hand
Posts: 78
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for your response Rob, would you mind elaborating?
 
Rob Ross
Bartender
Posts: 2205
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
hmm, if you're asking how a method returns a value then this really belongs in the beginner section.
Anyway, are you familiar with the return statement? It causes control to exit the current method and return to the caller of that method. If you include a value after the return, that value is returned to the caller.
for example...
int anInt = getInt(); //line 1
public int getInt()
{
return 4;
}
After line 1 completes, the variable anInt will contain the int value 4, because that is the value returned from the method call.
 
Mike Kelly
Ranch Hand
Posts: 78
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks, you're too kind.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic