对于这个程序,我应该从txt文件中读取,该文件包含有关汽车make
,model
,mpg
和trunk space
的信息。一个例子是:
现代
创世纪
24.6
100
并重复几个不同的汽车。
我们必须使用make和model的实例变量构造一个“Automobile
”超类。然后是一个“GasEngineAuto
”子类,其mpg实例变量扩展为“Automobile
”。然后是一个名为“Sedan
”的子类,它扩展了“GasEngine
Auto
”并具有主干空间的实例变量。对于作业,我们必须签署这些类,以确保它们正确。
编写一个方法来读取文件gas_sedans.txt
中的信息,并将其存储在您在上一步中创建的列表中。该列表应该是此方法的唯一参数。在该方法中,打开文件,将每个轿车的信息读入适当类型的变量,调用
参数化构造函数(获取所有属性的参数的构造函数)来创建对象,然后将对象添加到列表中。从main调用此方法。
以下是我的代码。我想尝试确保在使用方法之前我可以读入arrayList。
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.Scanner;
/**
*
* @author
*/
public class lab10_prelab {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws FileNotFoundException {
ArrayList<Sedan> sedanList = new ArrayList<Sedan>();
File myFile = new File(System.getProperty("user.dir")+"/src/gas_sedans (1).txt");
if (!myFile.exists()){
System.out.println("The file could not be found");
System.exit(0);
}
Scanner inputFile = new Scanner(myFile);
while (inputFile.hasNext())
{
Sedan a = new Sedan();
a.setMake(inputFile.nextLine());
a.setModel(inputFile.nextLine());
inputFile.nextLine();
a.setMPG(inputFile.nextDouble());
inputFile.nextLine();
a.setTrunkCapacity(inputFile.nextDouble());
sedanList.add(a);
}
inputFile.close();
}
}
它告诉我在尝试运行程序时收到InputMismatchException通知。
答案 0 :(得分:1)
您有拼写错误:
automobileArray
和autombileArray
不同。
在您的代码中,您在变量
中的o
之后缺少m
autombileArray
^
编辑:上午06:49 18/07/20115
它说当我尝试运行时收到InputMismatchException通知 该计划。
a.setModel(inputFile.nextLine());
inputFile.nextLine();//remove this line
a.setMPG(inputFile.nextDouble());
inputFile.nextLine();
a.setTrunkCapacity(inputFile.nextDouble());
inputFile.nextLine();//add here
答案 1 :(得分:0)
我做了一些改变并达成了这个。现在它说:写一个方法来显示列表。该方法应该有一个参数,一个是Automobiles的ArrayList。在方法体内,调用toString方法显示每个项目。在main结束时调用此方法。这是否意味着使类像&#34; public String toString()...... 或者是我做得很好。
public class Smith_lab10_prelab {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws FileNotFoundException {
ArrayList<Automobile> AutomobileList = new ArrayList<Automobile>();
fillAutomobileList(AutomobileList);
displayAutomobileList(AutomobileList);
}
public static void fillAutomobileList(ArrayList sedanList) throws FileNotFoundException {
File myFile = new File(System.getProperty("user.dir") + "/src/gas_sedans (1).txt");
if (!myFile.exists()) {
System.out.println("The file could not be found");
System.exit(0);
}
Scanner inputFile = new Scanner(myFile);
for (int i = 0; inputFile.hasNext(); i++) {
Sedan a = new Sedan();
a.setMake(inputFile.next());
a.setModel(inputFile.next());
a.setMPG(inputFile.nextDouble());
a.setTrunkCapacity(inputFile.nextDouble());
sedanList.add(a);
}
}
public static void displayAutomobileList(ArrayList automobileList) {
System.out.println(automobileList.toString());
}
}
&#13;