用Java打印列表?

用Java打印列表?,java,list,printing,Java,List,Printing,我想用Java打印一个列表 r1 r2 r3 r4 代码如下: public static final void main(String args[]) { Scanner a = new Scanner(System.in); String r1, r2, r3, r4; System.out.print("Enter word.."); r1 = a.next(); System.out.print("Enter second word");

我想用Java打印一个列表

r1
r2
r3
r4
代码如下:

public static final void main(String args[]) {

    Scanner a = new Scanner(System.in);

    String r1, r2, r3, r4;

    System.out.print("Enter word..");
    r1 = a.next();

    System.out.print("Enter second word");
    r2 = a.next();

    System.out.print("Enter third word");
    r3 = a.next();

    System.out.print("Enter last word");
    r4 = a.next();

    List list = new List();
    list.add(r1);
    list.add(r2);
    list.add(r3);
    list.add(r4);

    System.out.println(list);
}
如何让它打印我的列表,而不是:

java.awt.List[list0,0,0,0x0,invalid,selected=null]

在你的班级中,你有:

import java.awt.List;
但是,
java.awt.List
描述了GUI组件,可能不是您想要的。要使用数据结构
列表
请将导入更改为:

import java.util.List;
因为它是一个通用接口,所以您还应该适当地使用它:

List<String> list = new ArrayList<>();

如注释中所述,此解决方案仅在您还导入java.util.ArrayList时有效

导入java.util.ArrayList;
import java.util.ArrayList;

public class Example
{

public static void main(String args[])
{
    Scanner a = new Scanner(System.in);

    String r1, r2, r3, r4;

    System.out.print("Enter word..");
    r1 = a.next();

    System.out.print("Enter second word");
    r2 = a.next();

    System.out.print("Enter third word");
    r3 = a.next();

    System.out.print("Enter last word");
    r4 = a.next();

    ArrayList<String> list = new ArrayList<>();
    list.add(r1);
    list.add(r2);
    list.add(r3);
    list.add(r4);

    for ( String str : list )
    {
        System.out.println(str);
    }

}
公开课范例 { 公共静态void main(字符串参数[]) { 扫描仪a=新的扫描仪(System.in); 字符串r1、r2、r3、r4; 系统输出打印(“输入单词…”); r1=a.next(); 系统输出打印(“输入第二个单词”); r2=a.next(); 系统输出打印(“输入第三个单词”); r3=a.next(); 系统输出打印(“输入最后一个单词”); r4=a.next(); ArrayList=新建ArrayList(); 列表。添加(r1); 列表。添加(r2); 列表。添加(r3); 列表。添加(r4); for(字符串str:list) { 系统输出打印项次(str); } }

而不是打印用户的输入,而是打印对象。

java.awt.List是列表组件(类似于GUI中的下拉列表) ()

其中java.util.List是用于存储数据的有序集合。()

尝试从更改导入(如jlordo所述)


最正确的方法可能是使用
StringBuilder

        List<String> list = new ArrayList<String>();

        //Add the stuff here.
        ...

        StringBuilder sb = new StringBuilder();
        for(String s: list)
            sb.append(s + " ");

        System.out.println(sb);
List List=new ArrayList();
//把东西加在这里。
...
StringBuilder sb=新的StringBuilder();
用于(字符串s:列表)
某人附加(s+);
系统输出打印LN(sb);

您可能想使用
java.util.ArrayList
而不是
java.awt.List
它将以不同的方式打印出来。
awt
类是GUI控件您已经得到的建议要好得多,但我仍然想提到的是,您使用
for
循环来迭代列表和
System.out.print
将所有元素打印在同一行上。答案应该有一些文本解释/说明。只发布代码会鼓励
货物培养
,而无助于理解。@Tim:谢谢。更新。请注意
导入java.util.List;
将使
列表
可用,但不会
数组列表
。因此,上面的我不会编译。您需要添加
import java.util.ArrayList;
,或者(我的偏好)将其更改为
import java.util.*;
@ajb:更新答案以包含该信息。
import java.awt.List;
import java.util.List;
        List<String> list = new ArrayList<String>();

        //Add the stuff here.
        ...

        StringBuilder sb = new StringBuilder();
        for(String s: list)
            sb.append(s + " ");

        System.out.println(sb);