gpt4 book ai didi

java - 动态排序用户输入而不使用 Java 中的内置排序方法

转载 作者:搜寻专家 更新时间:2023-11-01 02:04:20 24 4
gpt4 key购买 nike

我正在尝试对一些由空格分隔的用户输入的整数进行排序。

输入:4 2 1 5 9-- 预期输出:1 2 4 5 9

我不知道如何在用户在 i < num 的循环中按下 enter 后停止循环。当我一个一个地输入整数时,我的代码有效。任何帮助将不胜感激

 class javasort {
public static void main(String[] args) {
int num, i, j, temp;
Scanner input = new Scanner(System.in);

// System.out.println("Enter the number of integers to sort:");
// num = input.nextInt();

num = 5; // <-- the user input should be dynamic

int array[] = new int[num];

System.out.println("Enter integers: ");

for (i = 0; i < num; i++)

array[i] = Integer.parseInt(input.next());
num = i; // make array as big as input ?

for (i = 0; i < (num - 1); i++) {
for (j = 0; j < num - i - 1; j++) {
if (array[j] > array[j + 1]) {
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}

System.out.println("Sorted list of integers:");

for (i = 0; i < num; i++)
System.out.println(array[i]);
}}

最佳答案

您的代码几乎是正确的,然后您删除了最好的提示。像这样使用 Scanner.nextInt()

num = input.nextInt();          // <-- get the count.
int array[] = new int[num];
System.out.println("Enter integers: ");
for (i = 0; i < num; i++) { // <-- don't rely on indentation for flow control.
array[i] = input.nextInt(); // <-- get a number "num" times.
}

关于java - 动态排序用户输入而不使用 Java 中的内置排序方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38317415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com