我在创建数组或对象(具有多个字段)并将其发送到数组列表时遇到问题。任何帮助将不胜感激。我花了几个小时浏览 YouTube 上每个包含“对象”和“数组列表”一词的视频,但未能找到太多帮助。
程序需要提示用户选择一个选项(1. AddItem),然后提示用户输入名称和格式(dvd、vhs),并将多个对象与这些变量一起保存在数组列表中。我要么继续将其保存在内存中的位置返回给我,要么创建一个大对象而不是多个对象。
图书馆:
import java.util.Scanner;
import java.util.ArrayList;
public class Library {
static ArrayList<Object> items = new ArrayList<Object>();
static int menuOption;
static Scanner scan = new Scanner(System.in);
public static void main(String args[]) {
String title, format;
boolean right = false;
do{
displayMenu();
if (menuOption == 1){
System.out.println("Enter Title: ");
title = scan.next();
System.out.println("Enter format: ");
format = scan.next();
addNewItem(title, format);
} else {System.out.println(items);
}
} while (!right);
}
static int displayMenu(){
System.out.println("Menu: ");
System.out.println("1. Add New Item");
menuOption = scan.nextInt();
return menuOption;
}
static void addNewItem(String title, String format){
MediaItem b = new MediaItem();
b.setTitle(title);
b.setFormat(format);
items.add(b);
}
}
媒体项目:
public class MediaItem {
String title;
String format;
MediaItem(){
title = null;
format = null
}
MediaItem(String title, String format){
title = new String();
format = new String();
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getFormat() {
return format;
}
public void setFormat(String format) {
this.format = format;
}
}
最佳答案
如果您满足以下条件,程序将运行:
1 - 更改线路
static ArrayList<Object> items = new ArrayList<Object>();
到
static ArrayList<MediaItem> items = new ArrayList<MediaItem>();
2 - 更改线路
System.out.println( items );
至
for ( MediaItem mi : items )
{
System.out.println( mi.getTitle() + ", " + mi.getFormat() );
}
3 - 插入“;”在行尾
format = null
我在这里做了,并且成功了。
关于java - 如何将数组发送到数组列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22215045/