我一直在這個程序上整天都有壓力問題來讀取整數的文本文件並將整數存儲到數組中。我以爲我終於用下面的代碼得到了解決方案。我不得不通過hasNextLine()方法遍歷文件。 然後使用nextInt()從文件讀取整數並將它們存儲到數組中。 所以使用掃描器構造函數,hasNextLine(),next()和nextInt()方法。從文本文件中讀取整數並存儲到數組中
然後使用嘗試並捕獲以確定哪些詞是整數,哪些不是使用InputMismatchException。文件中的空白行也是例外情況? 問題是我沒有使用try和catch和exceptions,因爲我剛剛跳過了非ints。 此外,我正在使用一個int數組,所以我想這樣做沒有列表。
public static void main(String[] commandlineArgument) {
Integer[] array = ReadFile4.readFileReturnIntegers(commandlineArgument[0]);
ReadFile4.printArrayAndIntegerCount(array, commandlineArgument[0]);
}
public static Integer[] readFileReturnIntegers(String filename) {
Integer[] array = new Integer[1000];
int i = 0;
//connect to the file
File file = new File(filename);
Scanner inputFile = null;
try {
inputFile = new Scanner(file);
}
//If file not found-error message
catch (FileNotFoundException Exception) {
System.out.println("File not found!");
}
//if connected, read file
if (inputFile != null) {
// loop through file for integers and store in array
try {
while (inputFile.hasNext()) {
if (inputFile.hasNextInt()) {
array[i] = inputFile.nextInt();
i++;
}
else {
inputFile.next();
}
}
}
finally {
inputFile.close();
}
System.out.println(i);
for (int v = 0; v < i; v++) {
System.out.println(array[v]);
}
}
return array;
}
public static void printArrayAndIntegerCount(Integer[] array, String filename) {
//print number of integers
//print all integers that are stored in array
}
}
然後,我會在我的第二種方法中打印所有內容,但我可以在後面擔心。 :○文本文件的
實施例的內容:
Name, Number
natto, 3
eggs, 12
shiitake, 1
negi, 1
garlic, 5
umeboshi, 1
樣本輸出目標:
number of integers in file "groceries.csv" = 6
index = 0, element = 3
index = 1, element = 12
index = 2, element = 1
index = 3, element = 1
index = 4, element = 5
index = 5, element = 1
很抱歉的類似的問題。我非常強調了,更是我在做這一切錯了......我完全被卡住在這一點:(
你應該閱讀[這](http://stackoverflow.com/a/21300653/2970947)再回答。特別是最後的'printf'。 –
是否使用絕對強制的數組?你最好使用一個'List'實現(例如''ArrayList''):這樣你就沒有義務在開始時聲明它的大小,並且你不必管理你放入它的項目的索引。 –
不幸的是我必須爲這個程序使用一個數組。 –