Mike wrote:
Hi:
public class bbb
{
public static void main(String args[])
{
System.out.println(sum(100000));
}
public static int sum(int n)
{
if(n==0)
break;
else
return sum(n-1)+n;
}
}
After I compiled the above program, error message shows " break
outside switch or loop".
Why?
Because you have a break that is not in a switch or loop :-)
By definition "A break statement with no label attempts to transfer
control to the innermost enclosing switch, while, do, or for statement
of the immediately enclosing method or initializer block; this
statement, which is called the break target, then immediately completes
normally." That makes no sense at all if there is no enclosing switch,
while, do, or for statement in the method.
I don't know what you are trying to do, but my best guess from the look
of the code is that you want to return immediately from sum. You have to
return something, because sum returns int, and from the context it looks
as though 0 is the most reasonable thing:
if(n==0)
return 0;
else
return sum(n-1)+n;
Patricia- Hide quoted text -
- Show quoted text -
Thank you very much.
Yes, I want to do a test study of sum by recursive.
I heard that it runs quite slowly when one use recursive.