按输入字符串的顺序打印ArrayList的元素

时间:2014-03-12 02:30:07

标签: java arraylist

我要做的是从用户那里获取输入字符串。将它添加到arraylist中,因为我以后必须使用字符。但首先我要打印ArrayList的内容,以便检查它们的确切内容。这是我的代码

public static void main(String[] args)
{
    Scanner sc = new Scanner(System.in);
    List <String> Vowels = new ArrayList<String>();
    System.out.println("What is your string? ");
    String abc = sc.nextLine();
    int n = abc.length();
    for(int i=0; i <= n-1 ; i++)
    {
        Vowels.add(sc.nextLine());
    }

    for(int j=0; j< Vowels.size();j++)
        System.out.println(Vowels.get(j));

}

没有打印任何内容或没有显示任何错误。我们将非常感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

这是你的问题:

for(int i=0; i <= n-1 ; i++)
{
    Vowels.add(sc.nextLine());
               ^
}

“它没有打印任何内容”因为它等待你的输入

您需要的是:

public static void main(String[] args)
{
    Scanner sc = new Scanner(System.in);
    List <String> Vowels = new ArrayList<String>();
    System.out.println("What is your string? ");
    String abc = sc.nextLine();
    int n = abc.length();
    for(int i=0; i < n ; i++)
    {
        Vowels.add(new StringBuilder().append("").append(abc.charAt(i)).toString());
    }

    for(int j=0; j< Vowels.size();j++)
        System.out.print(Vowels.get(j));
}

输入: Burger

输出: Burger

如果您希望输出为[B, u, r, g, e, r],那么只需执行:

System.out.println(Vowels); //without for loop

答案 1 :(得分:0)

根据您在Rafa El评论中的新要求,尝试

abc = "Burger";          // use abc = sc.nextLine();
int n = abc.length();
for(int i=0; i < n ; i++)
{
    Vowels.add("" + abc.charAt(i));
}