Je dois écrire un programme qui lit les noms et les balances à partir du fichier texte «balances.txt» et les organise en un rapport qui résume ensuite les soldes en un total. C'est ce que le fichier contient:Non-concordance d'entrée lors de la lecture de double à partir du fichier
JAKIE JOHNSON,2051.59
SAMUEL PAUL SMITH,10842.23
ELISE ELLISON,720.54
je l'avais écrit à l'origine du code qui m'a donné exactement ce que je voulais, mais on m'a dit de ne pas utiliser des boucles, des tableaux, ou parseDouble
. J'ai maintenant essayé ce qui suit, mais je continue à recevoir une erreur chaque fois que j'ai utilisé nextDouble
. Le code:
import java.io.File;
import java.text.NumberFormat;
import java.text.DecimalFormat;
import java.io.FileInputStream ;
import java.io.FileNotFoundException ;
import java.io.IOException ;
import java.util.Scanner ;
public class BankFile {
public static void main(String[] args) throws IOException {
Scanner fileIn = null;
try {
String filename = "balances.txt" ;
File newFile = new File(filename);
Scanner in = new Scanner(newFile);
in.useDelimiter(",");
String name = in.next();
System.out.println(name);
// trying to see if first name will display
double money = in.nextDouble();
System.out.println(money);
// trying to see if first double will display
} catch (FileNotFoundException e) {
System.out.println("File not found.");
System.exit(0);
}
}
}
Ceci est la sortie et exception stacktrace:
JAKIE JOHNSON
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 Lab2.main(BankFile.java:52) `
Effectuez 'next',' next', puis 'nextDouble' pour avancer le scanner et recevoir la bonne entrée. – Li357
nous avons besoin de voir le code qui ne fonctionne pas, pas le code qui fonctionne –
désolé, j'avais oublié d'ajouter le code avec lequel je luttais – Derek