如何修复在java中获取midarray时不显示精确值的问题
在获取特定数据输入中的midarray值时,我在显示确切值时遇到问题。我希望任何人都能帮我解决这个问题如何修复在java中获取midarray时不显示精确值的问题,java,Java,在获取特定数据输入中的midarray值时,我在显示确切值时遇到问题。我希望任何人都能帮我解决这个问题 public static void main(String[] args) { Scanner scan = new Scanner(System.in); // Get number of numbers to include in our array from the user int arraySize = getInputInteger(scan, user
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
// Get number of numbers to include in our array from the user
int arraySize = getInputInteger(scan, userPrompt, invalidMsg);
// Get array input from the user
int[] values = getInputArrayInts(scan, arraySize);
int[] mid = midArray(values);
// Print results
System.out.println("Mid Range: " + mid);
}
public static int[] midArray(int[] arr) {
int extra = arr.length % 2 == 0? 1 : 0;
int[] mid = new int[1 + extra];
int startIndex = arr.length / 2 - extra;
int endIndex = arr.length / 2;
for (int i = 0; i <= endIndex - startIndex; i++) {
mid[i] = arr[startIndex + i];
}
return mid;
}
如果要打印数组,必须迭代所有元素,或者可以使用数组方法: 返回指定数组内容的字符串表示形式。字符串表示法由数组元素列表组成,用方括号(“[]”)括起来。相邻元素由字符“,”分隔(逗号后跟空格)。元素通过String.valueOf(short)转换为字符串。如果a为null,则返回“null” 因此,您需要在print语句中执行类似的操作:
System.out.println("Mid Range: " + Arrays.toString(mid));
为什么要返回一个数组而不是单个的
int
?它是一个中间值还是一个您想要的中间值范围?@UnusInstarOmnium如果它有效并且您认为它是正确的答案,您可以向上投票并将其标记为正确。
System.out.println("Mid Range: " + Arrays.toString(mid));