java - 当我从 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 个相同的输出?有没有人对此有任何解决方案?谢谢。
解决方案
如果您想要一次输出,请使用泛型类结构。
创建一个要保存记录的类。
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;
}
快乐编码:)
推荐阅读
- google-cloud-build - 未找到 Google Cloud Build 和 GLIBCXX_3.4.21(用于 TexturePacker)
- java - 从 Jenkins 运行 JunitCore.runClasses
- vue.js - 如何仅在某些页面上显示验证码图标(VUE reCAPTCHA-v3)?
- c++ - 简化代码以避免在顺时针旋转二维矩阵时出现 TLE
- excel - 双击一个 Excel 工作表将另一工作表过滤为该值
- python - 字符串无法通过 and 或“in”搜索匹配
- angular - 从 Angular 订阅中获取错误原因
- java - 比较一对 3 个变量的数学方法
- python - 将字符串中的奇数相乘
- python - on_epoch_end 在 fit_generator 中的所有 steps_per_epoch 之后不调用