【发布时间】:2018-12-31 00:26:31
【问题描述】:
我正在做一个家庭作业,我需要创建一个 Java ArrayList 来保存从 Scanner 读取的多个变量类型,以描述有关车辆的详细信息(即品牌、型号、颜色、年份、里程)。这应该是一个车辆库存应用程序。实际上,我很难将用户输入的信息添加到 ArrayList 中,这样我就可以将 ArrayList 打印到控制台以读回用户输入的内容。
这是我第一次编写具有多种变量类型(String、int)的 ArrayList,因此我很难将所有信息集中在一个地方。
感谢大家的帮助——我是编程的超级新手,感谢您为改进我的代码提供的任何见解。
import java.util.ArrayList;
import java.util.Scanner;
/*
* This is a program that will store and allow
* the user to manipulate information regarding
* a vehicle in an inventory
*/
public class Automobileinventory {
public static void main(String[] args) {
Automobile automobile = new Automobile();
addVehicle();
}
public static void addVehicle() {
Scanner scnr = new Scanner(System.in);
String make;
String model;
String color;
int year;
int mileage;
ArrayList<Automobile> list = new ArrayList<Automobile> ();
list.add (new Automobile());
System.out.println("Enter vehicle make:");
make = scnr.nextLine();
System.out.println("Enter vehicle model:");
model = scnr.nextLine();
System.out.println("Enter vehicle color:");
color = scnr.nextLine();
System.out.println("Enter vehicle year:");
year = scnr.nextInt();
System.out.println("Enter vehicle mileage");
mileage = scnr.nextInt();
Automobile c = new Automobile ();
list.add(c);
for(int i=0;i<list.size();i++){
System.out.println(list.get(i));
}
}
输出:
现在——当我运行代码时,我得到了:
输入车型: 庞蒂亚克
输入车辆品牌: 大上午
输入车辆颜色: 绿色
输入车辆年份: 1997
输入车辆里程 200000
汽车@55f96302 汽车@3d4eac69
代码应该返回:
预期输出:
输入车型: 庞蒂亚克
输入车型: 大上午
输入车辆颜色: 绿色
输入车辆年份: 1997
输入车辆里程 200000
庞蒂亚克 Grand Am Green 1997 200000
【问题讨论】:
-
您的输出语句
System.out.println(list.get(i));打印列表中的每个Automobile。它利用toString()来做到这一点。这默认为Object.toString()。您需要在Automobile上覆盖toString()以获得所需的结果。
标签: java