我明白沒有這樣的元素異常,但我不明白我做錯了什麼。我需要使用Tokenizer,以便可以讀取諸如「A-902」或「S-823」等令牌並在0處標識字符以確定員工所在的部門.Information.txt包含如下條目:沒有這樣的元素異常
簡河流,A-902,2001年5月16日,1,16.25
鮑勃·考克斯,S-823,1990年6月21日,2,17.50
import java.util.Scanner;
import java.io.*;
import java.util.StringTokenizer;
public class CreateFile {
public static void main(String[] args)throws FileNotFoundException{
File newFile = new File("Information.txt");
Scanner readFile = new Scanner(newFile);
PrintWriter outFile = new PrintWriter("Department.txt");
String[] employees = new String[9];
while(readFile.hasNext()){
for(int i=0; i<employees.length; i++){
employees[i] = readFile.nextLine();
}
}
for(int k=0; k<employees.length; k++){
StringTokenizer token = new StringTokenizer(employees[k],",");
while(token.hasMoreTokens()){
outFile.print(token.nextToken());
if(token.nextToken().charAt(0)=='A'){
outFile.print(token.nextToken());
outFile.print("Accounting ");
}else{
if(token.nextToken().charAt(0)=='H'){
outFile.print(token.nextToken());
outFile.print("Human Resources ");
}else{
if(token.nextToken().charAt(0)=='P'){
outFile.print(token.nextToken());
outFile.print("Production ");
}else{
if(token.nextToken().charAt(0)=='S'){
}
outFile.print(token.nextToken());
outFile.print("Shipping");
}
}
}
}
}
readFile.close();
outFile.close();
}
}
每次你打電話'token.nextToken()'將返回你的下一個標記,然後前進到下一個標記可以再次調用。您可能只想在每次迭代中調用一次。 –
是的,這是完全正確的。 –