我遇到了一个问题,我似乎无法让我的程序接受多个数组并组织它们而不必先指定一定数量的数组。这是代码,主程序只是调用它们,所以我没有把它放进去。
import SE112aClasses.GUI;
public class arraysort {
int[] array = new int[10];
public void gatherint() {
GUI gui = new GUI();
for(int steps = 0; steps < 10; steps ++)
{
array[steps] = gui.getInt("Please enter an integer");
}
}
public void organise() {
boolean swap = true;
int loops = 0;
int y;
while (swap) {
swap = false;
loops++;
for (int i = 0; i < array.length - loops; i++) {
if (array[i] > array[i + 1])
{
y = array[i];
array[i] = array[i + 1];
array[i + 1] = y;
swap = true;
}
}
}
System.out.println(array[0]);
System.out.println(array[1]);
System.out.println(array[2]);
System.out.println(array[3]);
System.out.println(array[4]);
System.out.println(array[5]);
System.out.println(array[6]);
System.out.println(array[7]);
System.out.println(array[8]);
System.out.println(array[9]);
}
}
我想知道是否有一种方法可以使它获取任意数量的整数(不是设定数量)并且可以显示它们而无需提示它们将要输入的整数量。我尝试了很多东西,但它只是失败了,甚至没有打印任何东西。我是阵列的新手,所以如果有任何阅读材料我可以帮助解决这个问题,非常感谢,谢谢。
答案 0 :(得分:2)
首先,您应该始终使用循环而不是手动写出println
语句中的所有操作。
如果在开始阅读之前可以询问项目数,可以将数组分配为该大小,然后在数组长度上运行两个循环。
如果您想使用未知数量的项目,请使用某种List
。 ArrayList
允许您在固定时间内从数组中选择特定项。您需要一些方法来指示您何时完成选择数字。
最后,除非排序是家庭作业,否则请使用Arrays.sort
或Collections.sort
而不是自己编写。
答案 1 :(得分:2)
您错误地使用了“数组”一词。 你只有一个数组。你想让你的程序接受一些值,这是一个你不知道的数字。
这个问题有几个方面:
答案 2 :(得分:0)
使用java.util.ArrayList,它封装了数组类,应该提供你需要的功能