So muss dieses Programm in der Lage sein, eine Textdatei zu empfangen, die eine Textzeile und verschiedene Zeilen von ganzen Zahlen enthält und sie in separaten Arrays speichert. Hier ist eine Textdatei Beispiel:Array enthält nur Nullen beim Erstellen eines Integer-Arrays aus einer Datei in Java?
five hexing wizard bots jump quickly
21 5 6 11 15 9 10 3 34 22 28 5 15 2 3 4 21 5 3 18 27 5 20 9 6 23 19 20 7
Ich habe herausgefunden, wie der Text in ein Zeichenfeld zu speichern, und ich habe herausgefunden, wie ein Integer-Array einzurichten, um die ganzen Zahlen in der Textdatei übernehmen. Wenn ich jedoch versuche, das Array zu drucken, wird es mit Nullen und nicht mit den Zahlen in der Textdatei gefüllt. Hier ist mein Code so weit (der Code, kopiert die Zahlen aus der Textdatei in das Feld am unteren Rande des Programms ist):
import java.util.*;
import java.io.*;
public class Decoder
{
public static void main(String[] args) throws IOException
{
Scanner keyboard = new Scanner(System.in);
String fileName;
System.out.println("Please enter the name of a file to be decoded: ");
fileName = keyboard.nextLine();
File testFile = new File(fileName);
Scanner inputFile = new Scanner(testFile);
String keyPhrase = inputFile.nextLine();
char[] letterArray = new char[keyPhrase.length()];
letterArray = keyPhrase.toCharArray();
int counter = 0;
while(inputFile.hasNextInt())
{
counter++;
inputFile.nextInt();
}
int[] numArray = new int[counter];
int i = 0;
while(inputFile.hasNextInt())
{
numArray[i++] = inputFile.nextInt();
}
System.out.println(Arrays.toString(numArray));
}
Die Antwort ist wahrscheinlich sehr einfach (ich bin neu in Java und Programmierung im Allgemeinen), aber jede Hilfe wäre willkommen!
'inputFile.nextInt();' ... ignorierst du was du liest ... Oh und dann 'while (inputFile.hasNextInt())' ... du liest schon alle int, also wie sollte es da sein mehr zu lesen? – Tom
Sie müssen inputFile ablegen, so dass es am Anfang der Datei steht, bis es die zweite Schleife erreicht. Es liest bereits alle Ints (möglicherweise eof) – MadProgrammer
@MadProgrammer * "Sie müssen inputFile pausieren, damit es am Anfang von ist die Datei "* Er hat das schon in einer älteren Frage getan, indem er einen anderen' Scanner' für diese Datei erstellt hat (nur als eine Notiz). – Tom