Java 如何打印包含数据的对象的ArrayList? publicstaticvoidmain(字符串[]args){ /*下面是一个类的代码,该类包含两个元素:名称和BoardCutes。我将从扫描仪获取数据,将其存储在家具对象的ArrayList中,然后按升序打印ArrayList中的项目。 */ 类家具工具可比{ 公共字符串toString(){ 返回getName()+“:“+GetBoardCutes()+”\n”; } 私有字符串名称; 私人双板录像; 家具(){ name=“”; 木板进尺=0.0; } 家具(字符串名称输入,双板脚输入){ name=nameInput; BoardCutes=boardFootageInput; } 公共字符串getName() { 扫描仪键盘=新扫描仪(System.in); 字符串名称=”; 而(!name.equalsIgnoreCase(“退出”)) { name=键盘.next(); 如果(名称=“退出”){ System.out.println(“项目总结”); //打印按项目大小从最小值排序的列表 //使用Collections.sort方法创建最大值 } } 返回名称; } 公共void集合名(字符串名){ 扫描仪键盘=新扫描仪(System.in); this.name=keyboard.next(); } 公共双GetBoardCutes(){ 扫描仪键盘=新扫描仪(System.in); 双板进尺=0.0; BoardCutes=键盘.nextDouble(); 返回画面; } 公共空间收进船坞(双排){ 扫描仪键盘=新扫描仪(System.in); this.boardCutes=keyboard.nextDouble(); } 公共内部比较(家具o){ 如果(此.BoardCuteso.boardcontines){ 返回1; } 返回此.name.compareTo(o.name); } } 家具=新家具(); ArrayList家具列表=新建ArrayList();

Java 如何打印包含数据的对象的ArrayList? publicstaticvoidmain(字符串[]args){ /*下面是一个类的代码,该类包含两个元素:名称和BoardCutes。我将从扫描仪获取数据,将其存储在家具对象的ArrayList中,然后按升序打印ArrayList中的项目。 */ 类家具工具可比{ 公共字符串toString(){ 返回getName()+“:“+GetBoardCutes()+”\n”; } 私有字符串名称; 私人双板录像; 家具(){ name=“”; 木板进尺=0.0; } 家具(字符串名称输入,双板脚输入){ name=nameInput; BoardCutes=boardFootageInput; } 公共字符串getName() { 扫描仪键盘=新扫描仪(System.in); 字符串名称=”; 而(!name.equalsIgnoreCase(“退出”)) { name=键盘.next(); 如果(名称=“退出”){ System.out.println(“项目总结”); //打印按项目大小从最小值排序的列表 //使用Collections.sort方法创建最大值 } } 返回名称; } 公共void集合名(字符串名){ 扫描仪键盘=新扫描仪(System.in); this.name=keyboard.next(); } 公共双GetBoardCutes(){ 扫描仪键盘=新扫描仪(System.in); 双板进尺=0.0; BoardCutes=键盘.nextDouble(); 返回画面; } 公共空间收进船坞(双排){ 扫描仪键盘=新扫描仪(System.in); this.boardCutes=keyboard.nextDouble(); } 公共内部比较(家具o){ 如果(此.BoardCuteso.boardcontines){ 返回1; } 返回此.name.compareTo(o.name); } } 家具=新家具(); ArrayList家具列表=新建ArrayList();,java,object,arraylist,Java,Object,Arraylist,你在任何时候都会这么做吗 public static void main(String[] args) { /*The following is the code to a Class containing two elements, name and boardFootage. I'll get the data from a Scanner, store it in an ArrayList in my Furniture object, then print out the items

你在任何时候都会这么做吗

public static void main(String[] args) {

/*The following is the code to a Class containing two elements, name and boardFootage. I'll get the data from a Scanner, store it in an ArrayList in my Furniture object, then print out the items of the ArrayList in ascending order. 
*/

    class Furniture implements Comparable<Furniture> {
        public String toString() {
            return getName() + ": " + getBoardFootage() + "\n";
        }

        private String name;
        private double boardFootage;

        Furniture() {
            name = "";
            boardFootage = 0.0;
        }

        Furniture(String nameInput, double boardFootageInput) {
            name = nameInput;
            boardFootage = boardFootageInput;
        }


        public String getName() 
        {
            Scanner keyboard = new Scanner(System.in);
            String name = "";
            while (!name.equalsIgnoreCase("quit"))
            {
                name = keyboard.next();
                if (name == "quit") {
                    System.out.println("Project Summary");
                    // PRINT LIST SORTED BY PROJECT SIZE FROM SMALLEST
                    // TO LARGEST USING Collections.sort METHOD
                }
            }
            return name;
        }


        public void setName(String name) {
            Scanner keyboard = new Scanner(System.in);
            this.name = keyboard.next();
        }


        public double getBoardFootage() {
            Scanner keyboard = new Scanner(System.in);
            double boardFootage = 0.0;
            boardFootage = keyboard.nextDouble();
            return boardFootage;
        }


        public void setBoardFootage(double boardFottage) {
            Scanner keyboard = new Scanner(System.in);
            this.boardFootage = keyboard.nextDouble();
        }

        public int compareTo(Furniture o) {
            if (this.boardFootage < o.boardFootage) {
                return -1;
            } else if (this.boardFootage > o.boardFootage) {
                return 1;
            }
            return this.name.compareTo(o.name);
        }
    }



    Furniture furniture = new Furniture();

    ArrayList<Furniture> furnitureList = new ArrayList<Furniture>();
这似乎是一个家庭作业问题,所以我谨慎地提供更多的帮助,而不是你自己尝试做一些

此外,普遍接受的方法是为定义的每个对象创建一个toString方法。此toString函数应返回序列化的对象字符串,例如:

//furnitureRef is a reference to a member of the list
for( Furniture furnitureRef : furnitureList ) {
    //Do stuff with furnitureRef
}
这将允许您编写:

class Car {
    String make;
    String model;

    public String toString() {
        return "{ make: " + make + " model: "+model+" }"; 
    }
}

你试过什么了吗?@TimBiegeleisen是的,问的是:在你的主方法中删除一个类是一种……奇怪的做法。@DavidBitner我最近一直在检查Java反编译器,我发现其中一件事是它们都不能处理方法本地类。所以,唯一的用途可能是搞乱反编译器。:)不要说出一个例子变量
i
除非它是一个简单的索引。@shmosel呃,我想这很公平。通常会,但我想如果他们真的是学生,最好树立一个正确的榜样,不要在榜样上偷懒:^)你显然仍然在“用我做事”尽管事实上没有
i
:-)@paxdiablo pfft,我当然没有!显然你需要再次检查代码;)如果没有历史特征,并且如果你也更改了第1行,你的修正主义会更有效:-)
//furnitureRef is a reference to a member of the list
for( Furniture furnitureRef : furnitureList ) {
    System.out.println( furnitureRef.toString() );
}