有人能解释一下如何在不使用return语句的情况下解决这个问题吗?
给定一个有序的整数列表,输出中间的整数。负数表示输入的结束(负数不是有序列表的一部分)。假设整数的数量总是奇数。
例如:如果输入为:2 3 4 8 11输出为:中间项:4
任何测试用例的列表值的最大数量不应超过9。如果超过,则输出“Too many numbers”。
提示:首先将数据读入数组,然后根据数组的大小找到中间的项。
import java.util.Scanner;
public class LabProgram {
public static void main(String[] args) {
Scanner scnr = new Scanner(System.in);
int[] userValues = new int[10];
int arrayLength = 0;
int i;
int middleInteger;
for (i = 0; i < 10; ++i) {
userValues[i] = scnr.nextInt();
if (userValues[i] == -1) {
arrayLength = i + 1;
break;
}
if ((i == 9) && (userValues[i] != -1)) {
System.out.println("Too many numbers");
return;
}
}
middleInteger = (arrayLength - 1) / 2;
System.out.println("Middle item: " + userValues[middleInteger]);
}
}
1条答案
按热度按时间m2xkgtsf1#
***在退出for循环后,可以使用条件检查来确定是数字太多还是中间数字有效。***在这种情况下,可以避免显式使用return语句,让方法在执行完完整代码后退出。例如,可以考虑执行以下操作: