如何使用for循环将数组中存储的多个值输出在同一行?
嘿,我来帮你搞定这两个问题,结合你的代码一步步调整说明:
1. 让输入的数组值显示在同一行
其实你当前的代码已经支持同一行输入多个数字啦!因为Scanner.nextInt()会自动忽略空格和换行符——不管你是在同一行输入75 48 23,还是分多行输入,程序都能正确读取所有整数。
要确保输入的数字和提示文字在同一行,你代码里用System.out.print()而不是println()的写法是对的,这样光标会停在提示文字末尾,你输入的所有数字都会和提示内容显示在同一行,比如运行时会是这样:
Enter the values for the first array: 75 48 23
如果你之前输入时数字换行,只是因为你每次输入一个就按回车,只要在同一行用空格分隔多个数字,它们就会显示在同一行咯。
2. 用for循环将数组值输出在同一行
要把数组元素输出在同一行,核心是用System.out.print()代替System.out.println()(后者会自动换行)。如果想要元素间有空格分隔,还可以在每个元素后添加空格,甚至可以控制最后一个元素不加多余空格,让输出更整洁。
这里给你两种实现方式:
- 增强for循环:写法简洁,适合不需要索引的场景
- 普通for循环:可以精准控制最后一个元素的输出,避免末尾多一个空格
调整后的完整代码
把输出逻辑加到你的代码里,完整版本如下:
import java.util.Scanner; public class CompareArrays { public static void main(String[] args) { Scanner input = new Scanner(System.in); int arraySize; System.out.print("Enter the array size: "); arraySize = input.nextInt(); int[] array1 = new int[arraySize]; int[] array2 = new int[arraySize]; System.out.print("Enter the values for the first array: "); for(int i = 0; i < arraySize; i++) { array1[i] = input.nextInt(); } System.out.print("Enter the values for the second array: "); for(int i = 0; i < arraySize; i++) { array2[i] = input.nextInt(); } // 用增强for循环输出第一个数组(末尾带空格) System.out.print("First array elements: "); for (int num : array1) { System.out.print(num + " "); } System.out.println(); // 手动换行,让后续内容更清晰 // 用普通for循环输出第二个数组(无末尾空格) System.out.print("Second array elements: "); for (int i = 0; i < array2.length; i++) { System.out.print(array2[i]); // 只有非最后一个元素才加空格 if (i != array2.length - 1) { System.out.print(" "); } } System.out.println(); if(Compare(array1, array2)) { System.out.println("Judgement: \t The arrays are identical"); }else { System.out.println("Judgement: \t The arrays are not identical"); } input.close(); } public static boolean Compare(int[] array1, int[] array2) { for (int i = 0; i < array1.length; i++) { if(array1[i] != array2[i]) { return false; } } return true; } }
这样运行时,你既可以在同一行输入数组值,程序输出的数组元素也会整齐地显示在同一行啦。
内容的提问来源于stack exchange,提问作者Raul Sanchez
相关产品推荐
相关产品推荐

