我必須從文件中讀取字符串,其中第一個String
是N然後將其轉換爲Integer
一個週期for
從0到N,每次讀取另一個Java閱讀字符串作爲輸入從文件通過命令行
FILE Name: test.txt
具有以下內容: 4 1.21 1.31 1.21 1.32
Java Code
public class lpa2 {
public static void main(String[] args) throws IOException {
// TODO Auto-generated constructor stub
String line;int n;
while((line = nextLine())!=null){
n = Integer.parseInt(line);
float v[] = new float[n];
for(int i = 0;i<n;i++){
String temp = readln();
v[i] = Float.parseFloat(temp);
}
for(float f:v)
System.out.println(f);
}
}
public static String readln() throws IOException{
BufferedReader bi = new BufferedReader(new InputStreamReader(System.in));
return bi.readLine();
}
}
從文件,然後讀作
float
每一行轉換爲下面的字符串
當我使用命令行是這樣的:
javac -nowarn lpa2.java
然後
java lpa2 < test.txt
使用文件作爲輸入,我得到以下錯誤
java.lang.NumberFormatException: For input string: "{\rtf1\ansi\ansicpg1252\cocoartf1187\cocoasubrtf370"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:492)
at java.lang.Integer.parseInt(Integer.java:527)
at lpa2.main(lpa2.java:15)
雖然如果我嘗試這樣做使用Eclipse它的作品完美...
我該如何解決這個問題?我用readln(),而不是我創建的掃描儀,因爲我需要一個更快的輸入閱讀器,即使我嘗試使用掃描儀我得到相同的錯誤...有什麼辦法解決這個問題嗎?
謝謝...
如何在eclipse中運行它? –
只需運行程序並將數字逐個輸入即可...... – exceltior
您能否確認您所指的'test.txt'文件實際上位於您啓動'java'程序的目錄中?你確定它不是其他文件的同名嗎? –