首页 > 解决方案 > 当我从 arraylist 调用时,为什么会有多个输出?

问题描述

import java.util.ArrayList;
class BryanList{  
    public static void main (String [] args)
   {  
      ArrayList<String> alist=new ArrayList<String>();  
      alist.add("Bryan");
      alist.add("18");
      alist.add("Chicken Rice");    

      for (int i = 0; i <= alist.size(); i++) {     
         System.out.println ("My Name: "+alist.get(i));
         System.out.println ("Age: "+alist.get(i));
         System.out.println ("Favourite food: "+alist.get(i));      
      }
   }  
}

为什么它不只是显示一个输出,而是有 3 个相同的输出?有没有人对此有任何解决方案?谢谢。

标签: java

解决方案


如果您想要一次输出,请使用泛型类结构。

创建一个要保存记录的类。

class Menu {
    public int age;
    public String name;
    public String favFood;
}

如果需要,您可以创建 getter/setter 方法。否则只需用public关键字声明变量。创建一个ArrayList将存储Menu类的对象。

ArrayList<Menu> alist = new ArrayList<Menu>();
    Menu menu = new Menu();
    menu.name = "Bryan";
    menu.age = 18;
    menu.favFood = "Chicken Rice";
    alist.add(menu);

打印输出

for (int i = 0; i <= alist.size(); i++) {
    Menu menu = alist.get(i);
    System.out.println("My Name: " + menu.name);
    System.out.println("Age: " + menu.age);
    System.out.println("Favourite food: " + menu.favFood);
}

我根据您的要求更新了您的课程,请检查。

class BryanList {
    public static void main(String[] args) {
        ArrayList<Menu> alist = new ArrayList<Menu>();
        Menu menu = new Menu();
        menu.name = "Bryan";
        menu.age = 18;
        menu.favFood = "Chicken Rice";
        alist.add(menu);

        for (int i = 0; i <= alist.size(); i++) {
            Menu menu = alist.get(i);
            System.out.println("My Name: " + menu.name);
            System.out.println("Age: " + menu.age);
            System.out.println("Favourite food: " + menu.favFood);
        }
    }
}

class Menu {
    public int age;
    public String name;
    public String favFood;
}

快乐编码:)


推荐阅读