我明白没有这样的元素异常,但我不明白我做错了什么。我需要使用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()'将返回你的下一个标记,然后前进到下一个标记可以再次调用。您可能只想在每次迭代中调用一次。 –
是的,这是完全正确的。 –