这是我的第一种方法。我有一个文件,我将其内容添加到ArrayList。我可以打印就好了,但我需要创建一个方法,在每个String的开头添加行号。我可以在方法之外做到这一点,但是我在创建返回arrayList的方法时遇到问题,所以我可以在其他方法中使用更新的arrayList,然后我需要显示更新的ArrayList。这是我的代码。
第一种方法的输出应该是 1只鸟 2只猫 等...
我的第二个方法的输出应该以相反的顺序返回ArrayList中的元素。 2只猫 1只鸟 等...
import java.util.*;
import java.io.*;
public class List
{
public static void main(String[] args) throws IOException
{
int line =1;
ArrayList<String> textArray = new ArrayList<String>();
ArrayList<String> newArray = new ArrayList<String>();
File f = new File("src/List.txt");
Scanner sc = new Scanner(f);
int num = 1;
while(sc.hasNext())
{
textArray.add(sc.nextLine());
}
numbered(textArray);
reverseOrder(textArray);
}
public static ArrayList<String> numbered(ArrayList<String> textArray)
{
ArrayList<String> results = new ArrayList<String>(textArray.size());
String s;
int num = 1;
for (String r : results)
{
r = num + " " + results;
num++;
}
return results;
}
public static ArrayList<String> reverseOrder(ArrayList<String> textArray)
{
ArrayList<String> results = new ArrayList<String>(textArray.size());
String s;
int num = 1;
for (String r : results)
{
}
return results;
}
答案 0 :(得分:1)
您正在正确返回数组,问题是您在方法中创建了新对象,而不是使用您收到的对象作为参数
ArrayList<String> results = new ArrayList<String>(textArray.size());
所以你在迭代空数组。 在for循环中,您可以迭代接收到的ArrayList
for (String r : textArray)
此外,您的结果数组始终为空,您应该添加如下所示的新元素:
results.add(r);
这可能有效:
public static ArrayList<String> numbered(ArrayList<String> textArray)
{
ArrayList<String> results = new ArrayList<String>(textArray.size());
String s;
int num = 1;
for (String r : textArray)
{
r = num + " " + results;
num++;
results.add(r);
}
return results;
}
答案 1 :(得分:1)
没有测试过这个,但它应该可行。正如你所看到的那样直截了当。最好的运气和快乐的编码。
public ArrayList<String> numList(ArrayList<String> originalArrayList)
{
ArrayList<String> newNumberedList = new ArrayList<String>();
for(int i = 0;i< originalArrayList.size(); i++){
int newi = i+1;
newNumberedList.add(newi+". "+originalArrayList.get(i));
}
return newNumberedList ;
}
答案 2 :(得分:0)
您正在实例化&#39;结果&#39; arraylist,并迭代它。您需要为初学者迭代textArray列表并调用results.add(&#34; text&#34;);