-2
我很抱歉被如此菜鳥使用Java,讀取和寫入TXT使用掃描儀的Java
我有以下問題:
我想訪問8 txt文件,並用相同的點創建數組從每個文件; (1,1)= file1(point(1,1),file2(point(1,1),file3(point(1,1),file4(point(1,1))) ,file5(點(1,1),file6(點(1,1),file7(點(1,1),file8(點(1,1)]
所以然後,
右現在我遇到以下問題......首先,代碼不能訪問文件中的所有時間0.0,0.0,0.0,... 0.0。其次,我不知道如何創建輸出(x,y).txt
每個文件輸入都有1.050.622個點......所以需要創建1.050.622個輸出......
有人可以幫助我嗎?
這是我寫的代碼:
package filtros;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.Scanner;
public class Main {
private static final String INPUT_FILE = "";
private static final String OUTPUT_FILE = "";
public static void main(String[] args) {
int n=1050622;
float datos[][] = new float[n][8];
Scanner sc1,sc2,sc3,sc4,sc5,sc6,sc7,sc8;
try {
sc1 = new Scanner(new File("C:\\Users\\Netbook\\f1.txt"));
sc2 = new Scanner(new File("C:\\Users\\Netbook\\f2.txt"));
sc3 = new Scanner(new File("C:\\Users\\Netbook\\f3.txt"));
sc4 = new Scanner(new File("C:\\Users\\Netbook\\f4.txt"));
sc5 = new Scanner(new File("C:\\Users\\Netbook\\f5.txt"));
sc6 = new Scanner(new File("C:\\Users\\Netbook\\f6.txt"));
sc7 = new Scanner(new File("C:\\Users\\Netbook\\f7.txt"));
sc8 = new Scanner(new File("C:\\Users\\Netbook\\f8.txt"));
for(int i=0;i<n;i++){
while (sc1.hasNextFloat()) {
datos[i][0] = sc1.nextFloat();
}
while (sc2.hasNextFloat()) {
datos[i][1] = sc2.nextFloat();
}
while (sc3.hasNextFloat()) {
datos[i][2] = sc3.nextFloat();
}
while (sc4.hasNextFloat()) {
datos[i][3] = sc4.nextFloat();
}
while (sc5.hasNextFloat()) {
datos[i][4] = sc5.nextFloat();
}
while (sc6.hasNextFloat()) {
datos[i][5] = sc6.nextFloat();
}
while (sc7.hasNextFloat()) {
datos[i][6] = sc7.nextFloat();
}
while (sc8.hasNextFloat()) {
datos[i][7] = sc8.nextFloat();
}
}
for(int i=0;i<n;i++){
System.out.print("espectro "+ i+ " ");
for(int j=0;j<8;j++){
System.out.print(datos[i][j] + " ");
//float datos[i] = new FileWriter("C:\\Users\\Netbook\\Exits");
}
System.out.println();
}
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
請寫一個關於您得到的具體錯誤的具體問題,指向您需要幫助的代碼中的確切代碼行。 –
首先,您要將所有'while(sc#.hasNextFloat())'改爲'if(sc#.hasNextFloat())'。因爲現在你在for循環的第一次迭代期間讀取文件中的所有浮點數,因此0.0(我認爲)的結果。 –
我在任何地方都需要幫助我認爲XD ...所以如果有人能寫出更好的解決方案我會很高興<3 –