import java.util.Scanner;
public class Recursion
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Enter n to start: ");
int n = in.nextInt();
System.out.println("Sum of numbers from 1 to " + n + ": " +new Recursion().sumUpTo(n));
}
}
/**
* Computes the sum of a range of numbers
*
* @param n an integer
* @return the sum of n range
*/
public int sumUpTo(int num){
if (num == 0)
{
return 0;
}
else{
return (num + sumUpTo(num-1))
}
}
这应该是一个非常简单的方法,我知道,但我似乎无法将其编译。我不断获得"课程,界面或枚举预期"在public int sumUpTo(int num)行上。这是执行实际计算的方法。任何帮助将不胜感激。
答案 0 :(得分:1)
一些事情:
答案 1 :(得分:-1)
将sumUpTo方法移到类中。
import java.util.Scanner;
public class Recursion
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
System.out.print("Enter n to start: ");
int n = in.nextInt();
System.out.println("Sum of numbers from 1 to " + n + ": " +new Recursion().sumUpTo(n));
}
/**
* Computes the sum of a range of numbers
*
* @param n an integer
* @return the sum of n range
*/
public int sumUpTo(int num){
if (num == 0)
{
return 0;
}
else{
return (num + sumUpTo(num-1));
}
}
}
答案 2 :(得分:-1)
你应该是面向对象编程的新手。在Java中,函数(方法)必须在(属于)类的内部。您可以将public int sumUpTo(int num)放在公共类Recursion中,也可以创建另一个类并将其放在那里。但请记住,文件中应该只有一个公共类。
答案 3 :(得分:-1)
在Java中,一切都必须在一个类中。只需将您的方法移动到类的花括号内即可。它可以工作。
错误class, interface, or enum expected
非常自我解释!它遇到的代码不在类,接口或枚举中,并且它没有预料到,因为那不应该发生!
如果您需要了解我的意思:
public class Recursion {
public static void main (String[] args) {
// your code here...
}
// Where your method should have gone.
}
另外,欢迎使用Stack Overflow。如果它回答了你的问题,请记得接受答案。