一行13个错误(***)我做错了什么?

时间:2014-11-03 04:18:07

标签: java

/** 
  * getLargestOfFive method
  * input parameters: int values num1, num2, num3, num4, num5
  * return value    : largest value among 5 input parameters
  */


import java.util.Scanner;

public class LargestOfFive2{

  public static void main(String[] args){



    ***public static int getLargestOfFive(int num1, int num2, int num3, int num4, int num5, int largest){***



      largest = num1; 

      if (num2 > largest){
        largest = num2;
      }
      if (num3 > largest){
        largest = num3;
      }
      if (num4 > largest){
        largest = num4;
      }
      if (num5 > largest){
        largest = num5;

      }

      return largest;


    }

  }

}

2 个答案:

答案 0 :(得分:5)

public static void main(String[] args){
 public static int getLargestOfFive(int agumentsHere){ // method inside method?
 }
}

您不能在Java中使用嵌套方法。重新安排你的代码。

public static void main(String[] args){
  // call your method from main 
  // eg
   int val=getLargestOfFive(arguments);
}
public static int getLargestOfFive(int agumentsHere){ 
}

Java中阅读Java关于methods的文档。

答案 1 :(得分:0)

您获得如此多错误的主要原因很可能是您已将方法放入方法中。您不能在getLargestOfFive方法中包含main() - 在Java中没有嵌套方法。相反,将你的方法分开:

public static void main(String[] args)
{

}

public static int getLargestOfFive(int num1, int num2, int num3, int num4 ...)
{

}

另请注意,您在分配变量方面做了一些奇怪的事情。将largest传递给您的方法毫无意义。而是在函数的开头定义和分配它,如下所示:

public static int getLargestOfFive(...)
{
    int largest = num1;
}

没有理由要求用户将无用的变量传递给您的函数。

最后,您实现此功能的方式非常单一。如果需要,可以将迭代函数传递给函数,并在方法中迭代它,并且您能够确定任何数值的最大值。就目前而言,当且仅当用户有五个他们想要检查的值时,这才有效。