ich mit meinem Code diesen Fehler habe: Exception in thread „main“ java.util.InputMismatchException
Ich kenne den Grund für den Fehler, die gesamte Linie ist in eine Zeichenfolge umgewandelt werden, aber ich bin mir nicht sicher, wie Sie es beheben können. Ich habe versucht, auf Delimiters **Exception in thread "main" java.util.InputMismatchException**How do I use a delimiter in Java Scanner?
lesen, aber es klingt alles zu komplex für mein Verständnis.
Mein Code:Werte aus einer Textdatei lesen und Trennen in Streich- und Doppel
import java.util.*;
import java.io.*;
public class POSmain{
public static void main(String[] args)throws Exception {
anderen Code
//create 3 collections to store input, with scanners to extract input
Map<String, Double> products = new TreeMap<String, Double>();
Scanner stock = new Scanner(new File("prices.txt"));
meine gescheiterten Versuch einer Delimiter
//Delimiter to remove whitespace
stock.useDelimiter("\\s*[a-z]\\s");
mehr Code
//populate each collection with while loops
while(stock.hasNext()){
tempString = stock.nextLine();
tempdouble = stock.nextDouble();
products.put(tempString,tempdouble);
}
stock.close();
bei Verwendung Versucht, diese Datei zu lesen:
TV 999.99
Table 199
Bed 499.99
Chair 45.49
Milk 3.00
Butter 2.84
Tomato 0.76
Onion 0.54
Lettuce 1.00
Ham 2.50
Bread 1.75
Ich bin nicht zu ändern oder löschen Leerzeichen aus der Datei. Ich wäre sehr dankbar für jede Hilfe oder Rat, wie ich die Werte extrahieren sollte. Ich bin glücklich, mehr Code auf Anfrage zur Verfügung zu stellen, aber ich erwarte, dass dies alles ist, was erforderlich ist. Nochmals vielen Dank und ich schätze jede Hilfe, die ich bekomme.
Dank Tim Ihr Begrenzer arbeitete auch mit meinem Code. Ich werde es in der API untersuchen, um zu sehen, wie es zum besseren Verständnis von Delimetern funktioniert. Danke noch einmal. –
Muss 30 Sekunden warten, bis der Überlauf es mir erlaubt –