このプログラムには main メソッドを持つ 2 つのクラスがあり、ファイルから読み取ることになっています。私の問題は、行double listPrice = fileScan.nextDouble();
がこのようなエラー例外を与えることException in thread "main" java.util.InputMismatchException
です。エラーはこのクラスにあります:
ファイルの内容は次のとおりです。
Honda Accord
2004 16780.00 10.0
クライスラーSUV
2002 8600.00 0.0
トヨタカムリ
2007 21799.99 3.0
フォード・エスコート
2006 12345.78 5.5
//各行の間にスペースがないことに注意してください
class Proj1P2CarAryListService
{
private ArrayList<Proj1CarData> carList = new ArrayList<Proj1CarData>();
public Proj1P2CarAryListService()
{
carList = new ArrayList<Proj1CarData>();
}
public void readStoreCarsData()
{
Scanner scan = new Scanner(System.in);
Scanner fileScan;
boolean validName = false;
double discountAmount;
double netPrice;
do
{
System.out.print("Enter file name: ");
String str1 = scan.nextLine();
try
{
fileScan = new Scanner(new File(str1));
validName = true;
while (fileScan.hasNext())
{
String name = fileScan.nextLine();
String modelYear = fileScan.next();
double listPrice = fileScan.nextDouble();
double percentDiscount = fileScan.nextDouble();
discountAmount = listPrice * percentDiscount/100.0;
netPrice = listPrice - discountAmount;
Proj1CarData proj1 = new Proj1CarData(name, modelYear, listPrice, percentDiscount, discountAmount, netPrice);
carList.add(proj1);
System.out.println(proj1.toString());
}// end while
}// end try
catch (FileNotFoundException fnfe)
{
System.out.println("Invalid File name; enter again");
}
} while (!validName);
}//readStoreCarsData