您好,我有一個 java 代碼,程式應該在其中對變數 num 進行排序,但它只會給出一些奇怪的字串。我想你能幫我一些小費。代碼需要給出 1,4,6,9 我希望每個人都明白這是怎么回事。
public class A3 {
public static void meinefunktion(int[] num, int temp, int i, int j) {
if (num[j] < num[i]) {
temp = num[i];
num[i] = num[j];
num[j] = temp;
}
}
public static void main(String[] args) {
int[] num = { 4, 9, 6, 1 };
int temp;
temp = 0;
int i = 0;
while (i < num.length) {
int j = i 1;
while (j < num.length) {
meinefunktion(num, temp, i, j);
j = 1;
}
i = 1;
}
System.out.println(num);
}
}
uj5u.com熱心網友回復:
您可以在以下主要功能中執行此操作:
public static void main(String[] args) {
int[] num = { 4, 9, 6, 1 };
Arrays.sort(num);
for (int j : num){
System.out.println(j);
}
}
uj5u.com熱心網友回復:
您正在直接列印陣列,在 Java 中,它不會列印單個元素,而是生成的參考字串。通常,您可以正確地將陣列轉換為List覆寫其toString方法的物件。根據您的 Java 版本,有以下選項:
java.util.Arrays.toList(...)
或者:
java.util.List.of(...)
不幸的是,這不適用于原始陣列組件型別(例如int)。您需要使用盒裝型別Integer:
package com.yaypay;
import java.util.Arrays;
public class AaaTest {
public static void meinefunktion(Integer[] num, int i, int j) {
if (num[j] < num[i]) {
int temp = num[i];
num[i] = num[j];
num[j] = temp;
}
}
public static void main(String[] args) {
Integer[] num = { 4, 9, 6, 1 };
int i = 0;
while (i < num.length) {
int j = i 1;
while (j < num.length) {
meinefunktion(num, i, j);
j = 1;
}
i = 1;
}
System.out.println(Arrays.asList(num));
}
}
uj5u.com熱心網友回復:
是的,您的代碼完全符合您的需要!唯一缺少的一點是列印陳述句 - System.out.println(num)。取而代之的是,您可以回圈遍歷陣列以列印結果,如下所示。此示例代碼使用 while 回圈,因為您已經知道它。
int index = 0;
while (index < num.length) {
System.out.println(num[index]);
index ;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/473540.html
下一篇:如何在新陣列中實作奇數?
