Gelöst: Das Problem war, dass die Werte der Integer zu hoch waren und daher nicht in einem Int gespeichert werden konnte, sondern in einem BigInteger gespeichert werden musste.Eingabe aus Datei verweigert werden zu einem int/oder als int gelesen werden
Dieser Code soll Eingang von einer Datei lesen (siehe unten) und ich möchte, dass es als ein int oder analysiert zu einem int gelesen wird, wie ich in der Lage sein muss, Mathe darauf anzuwenden. Es löst immer die Ausnahme "InputMismatchException" aus. Ich habe viele andere Fragen und deren Lösungen gelesen und trotzdem ihre Lösungen mit wenig bis gar keinem Erfolg umgesetzt. Zu den Lösungen gehört das Parsen der Zeichenfolge als Int, das Entfernen von Leerzeichen mit "ReplaceAll".
Code:
String fileName = "SBOWorkSpace.txt";
Scanner sf = new Scanner(new File(fileName));
int lineint = sf.nextInt();
int finalnumbers = lineint * hour;
System.out.println(finalnumbers + hournum);
String linestring = sf.nextLine();
String nospaces = linestring.replaceAll("\\s+\\u00A0]+$", "");
int filetonumbers = Integer.parseInt(nospaces);
Datei:
46886794368454912286794394376459086711
Fehler:
Exception in thread "main" java.util.InputMismatchException: For input string: "46886794368454912286794394376459086711"
at java.util.Scanner.nextInt(Scanner.java:2097)
at java.util.Scanner.nextInt(Scanner.java:2050)
at Encryption.main(Encryption.java:881)
Sie möchten dies als eine einzelne Nummer? –
Zuallererst: Diese Ziffer ist viel zu groß für ein 'int', siehe [hier] (http://stackoverflow.com/questions/15004944/max-value-of-integer). Dann: drucke den Wert von 'nospaces'. Was bekommst du? – pzaenger
@AbhishekPanjabi Ja, ich möchte, dass die Nummer in einer einzigen Variablen gespeichert werden kann. – Shadow