我正在编写一个程序,允许用户从磁盘文件中输入最多1000个String元素。这发生在另一个String数组方法中,然后将它们复制到另一个数组中,然后在下面的方法中对它们进行起泡。但是,我得到一个错误,因为我的新数组长度需要1000个元素而磁盘文件只能放入,比方说,50。我认为解决我的问题的最好方法是创建一个长度与磁盘文件中的字符串。但是,我不知道如何创建磁盘文件输入长度的另一个数组。任何帮助都会很棒。
public static String[]bubbleSort(String[] inputArr) {
String[] Array2 = new String[inputArr.length];
for(int i=0;i<inputArr.length;i++)
Array2[i] = inputArr[i];
for (int i = 0; i<Array2.length; i++)
{
for (int j = 0; j<Array2.length-1; j++)
{
if (Array2[j].compareTo(Array2[j+1]) > 0)
{
String temp = Array2[j];
Array2[j] = Array2[j+1];
Array2[j+1] = temp;
}
}
}
return Array2;
}
答案 0 :(得分:0)
您可以使用列表代替使用数组,也可以是动态增长的数组列表。
列表al = new ArrayList();
for(文件中的字符串){
al.add(文件中的字符串);
}
然后根据Arraylist大小,您可以创建一个数组并从数组列表中复制元素,或者您可以直接将arraylist转换为数组,如下所示。
ArrayList<String> al = new ArrayList<String>();
al.add("Amith");
al.add("Kumar");
String[] arr =(String[]) al.toArray(new String[al.size()]);