2013-10-31 72 views
1

所以,这里是问题:我试图让我的代码简单。我从一行中有多个数据项的文件中读取数据,因此我想将它们拆分并放入相应的数组中。但是,IDE不断告诉我它找不到符号。我已经尝试导入字符串类(正确的单词?)并将我的元素数组移到WHILE循环中。我究竟做错了什么?万圣节快乐! :)找不到符号 - 拆分方法(Java)

import java.util.Scanner; 
import java.io.File; 
import java.io.IOException; 
import java.lang.String; 
public class Hurricanes2 
{ 

public static void main(String [] args) throws IOException 
{ 
int counter = 0; 
String [] token = new String[64]; 

String [] hurrcaneYear = new String[64]; 
String [] hurrcaneName = new String[64]; 
int [] hurricaneCategory = new int[64]; 
double [] hurrcanePressure = new double[64]; 
double tempKnots; 
double knotsToMph; 
double [] hurricaneWindSpeeds = new double[64]; 
double categoryAverage; 
double pressureAverage; 
double speedAverage; 
String headerData = "       Hurricanes 1980 - 2006\n\n Year  Hurricane  Category  Pressure(MB)  Wind Speed (MPH)\n========================================================================"; 
Scanner in = new Scanner(System.in); 
Scanner inFile = new Scanner(new File("hurcData2.txt")); 
System.out.print(headerData); 

/**---Use for-each (line:token) 
* Parse for year - > year array 
* parse for name - > name array 
* parse for knots - > tempKnots 
* knotsToMph = tempKnots * 1.15078 
* hurricaneWindSpeed[counter] = knotsToMph 
* enter if-else to calculate category (hurricaneCategory [] = 1,2,3,4, or 5): 
*  74-95 cat1 
*  96-110 cat2 
*  111 - 129 cat3 
*  130-156 cat4 
*  157 or higher cat 5 
* 
* 
*/ 
while(inFile.hasNext()) 
{ 
    token[counter] = in.nextLine(); 
    String tokenElements[] = token.split(" "); 
    counter++; 
} 
for(String line:token) 
{ 

} 
} 

} 

回答

6

你只能申请一个String对象上split方法,而不是Stringarray对象。

我想你想做的事:

token[counter] = in.nextLine(); 
String tokenElements[] = token[counter].split(" "); 


注意从 doc

// this form is discouraged 
float anArrayOfFloats[]; 

公约鼓励这种形式;括号标识阵列类型 ,并且应该与类型标识一起出现。

即使它的编译,我建议来声明数组作为String [] tokenElements