1
私はJavaの初心者で、ファイルからデータを読み取ろうとしましたが、double値を読み取ろうとしたときにエラーが発生しました。理由を理解できません。これは私のコードです:スキャナでjava.util.InputMismatchExceptionを使用してdoubleを読み取る
package bestcombo;
import java.io.*;
import java.util.Scanner;
public class Componentes
{
String name = "";
Lojas[] stores = new Lojas[8];
public void ComponenteNome(String nome)
{
name = nome;
}
public void InicializeStores()
{
for (int i = 0; i < 8; i++)
{
stores[i] = new Lojas();
}
}
public void InserirInformacao() throws IOException
{
int i = 0, val = 0, quant = 0;
double price = 0;
String FileName = "";
Scanner ReadKeyboard = new Scanner(System.in), ReadFile = null;
InicializeStores();
System.out.println("File:\n");
FileName = ReadKeyboard.nextLine();
ReadFile = new Scanner(new File(FileName));
while(ReadFile.hasNext())
{
ReadFile.useDelimiter(":");
val = ReadFile.nextInt();
ReadFile.useDelimiter(":");
price = ReadFile.nextDouble();
ReadFile.useDelimiter("\\n");
quant = ReadFile.nextInt();
stores[i].LojaValor(val);
stores[i].LojaQuantidade(quant);
stores[i].LojaPreco(price);
}
}
}
これは私のファイル内のデータです:
1:206.90:1
2:209.90:1
3:212.90:1
4:212.90:1
5:213.90:1
6:224.90:1
7:229.24:1
8:219.00:1
そして、これはエラー私は、ファイルからでしょう読ん
Exception in thread "main" java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextDouble(Scanner.java:2413)
at bestcombo.Componentes.InserirInformacao(Componentes.java:34)
at bestcombo.BestCombo.main(BestCombo.java:13)
ありがとう、私はそれを試してみましょう! –
私はそれが動作するかどうか教えてください@TiagoLima –
それは完璧に働いていました。大いに感謝する! :) –