Java通过Scanner输入10个数字存入数组并升序排序的实现问题
缺失的逻辑补充说明
你当前的代码仅读取了用户输入的数字并直接打印,没有完成存入数组、排序、输出排序结果的逻辑,需要补充以下内容:
- 第一步:将输入的数字存入数组
现有循环里的int number = input.nextInt();只是把输入值存在了临时变量里,没有写入数组,修改为arr[i] = input.nextInt();即可完成存储,如果需要保留打印输入值的逻辑,可以改为打印arr[i]。 - 第二步:对数组进行升序排序
两种实现方式可选:- 直接调用JDK内置的排序工具:引入
java.util.Arrays包后调用Arrays.sort(arr),会自动完成int数组的升序排序,适合日常开发使用 - 手动实现排序算法,比如冒泡排序,适合学习排序逻辑时使用
- 直接调用JDK内置的排序工具:引入
- 第三步:遍历输出排序后的数组
排序完成后循环遍历数组,依次打印元素即可。
补全后的完整代码示例
版本1:使用内置排序方法
import java.util.Arrays; import java.util.Scanner; public class q1 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int arr[] = new int[10]; System.out.println("请输入10个数字:"); // 输入存入数组 for (int i = 0; i < arr.length; i++) { arr[i] = input.nextInt(); System.out.println("你输入的第"+(i+1)+"个数字是:"+arr[i]); } // 升序排序 Arrays.sort(arr); // 输出排序结果 System.out.println("从小到大排序后的结果:"); for (int num : arr) { System.out.print(num + " "); } input.close(); } }
版本2:手动实现冒泡排序
import java.util.Scanner; public class q1 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int arr[] = new int[10]; System.out.println("请输入10个数字:"); // 输入存入数组 for (int i = 0; i < arr.length; i++) { arr[i] = input.nextInt(); } // 冒泡排序实现升序 for (int i = 0; i < arr.length - 1; i++) { for (int j = 0; j < arr.length - 1 - i; j++) { if (arr[j] > arr[j+1]) { int temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } // 输出排序结果 System.out.println("从小到大排序后的结果:"); for (int num : arr) { System.out.print(num + " "); } input.close(); } }
内容的提问来源于stack exchange,提问作者orenbdlv
相关产品推荐
相关产品推荐

