这是一个工作程序,但是我不知道这里完成了什么“返回答案”,只知道需要返回的东西。是不是有办法在下一个方法中使用“answer”,所以number1-4做不必重新输入。
public class AverageOfGivenNumbers {
// implement
public static int sum(int number1, int number2, int number3, int number4) {
int answer = number1 + number2 + number3 +number4;
return answer;
}
public static double average(int number1, int number2, int number3, int number4) {
double average = sum(number1,number2,number3,number4) / 4.0;
return average;
}
public static void main(String[] args) {
double result = average(4, 3, 6, 1);
System.out.println("Average: " + result);
}
}
答案 0 :(得分:2)
这看起来像是家庭作业,所以很可能只是为了证明传递参数。
正如我在评论中所说,你可以缩短所有内容:
public class AverageOfGivenNumbers {
public static int sum(int n1,int n2,int n3,int n4) {
return n1+n2+n3+n4;
}
public static double average(int n1,int n2,int n3,int n4) {
return sum(n1,n2,n3,n4)/4.0;
}
public static void main(String[] args) {
System.out.println("Average: "+average(4,3,6,1));
}
}
当我们使用return
时,我们会说一个函数在执行时会评估什么。
这在我们使用average(4,3,6,1)
的主要方法中显示。
它成为(或,"返回")3.5
,这是我们在打印时看到的内容。
Average: 3.5
它没有显示Average: average(4,3,6,1)
,因为average(4,3,6,1)
评估为3.5
- 我们返回的值。
同样,当我们说return sum(4,3,6,1)/4.0
时,它会变为return 14/4.0
。
您也可以在java中使用它来传递无限制的参数:
public static int sum(int... args) {
int sum = 0;
for (int arg : args)
sum += arg;
return sum;
}
public static double average(int... args) {
return (sum(args)/(float)args.length);
}
public static void main(String []args){
System.out.println("Average: "+average(4,3,6,1));
}