/**
* 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;
}
}
}
答案 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;
}
没有理由要求用户将无用的变量传递给您的函数。
最后,您实现此功能的方式非常单一。如果需要,可以将迭代函数传递给函数,并在方法中迭代它,并且您能够确定任何数值的最大值。就目前而言,当且仅当用户有五个他们想要检查的值时,这才有效。