2015-04-05 60 views
1

我有一个名为test5的文本文件,它有4个单词。我需要将这四个单词传递给函数contVal和contVal2。当我执行下面的代码时,第一个和第三个单词进入函数contVal,第二个单词进入contVal2。有什么办法可以将所有四个单词都传递给两个函数吗?将令牌传递给java中的函数

   String a = "D:/test5.txt" ; 
       String abc = readFile(a); 
       StringTokenizer st = new StringTokenizer(abc); 
       float cv1 = 1; 
       float cv4 =1; 
       while (st.hasMoreTokens()) 
       { 
        float cv0 = contVal(a1,st.nextToken()); 
        cv1 = cv0*cv1; 
        float cv3 = contVal2(a1,st.nextToken()); 
        cv4=cv3*cv4; 

       } 

回答

3

每次调用st.nextToken()消耗另一个令牌。因此,每个方法只获得一半的令牌。

  while (st.hasMoreTokens()) 
      { 
       String token = st.nextToken(); 
       float cv0 = contVal(a1,token); 
       cv1 = cv0*cv1; 
       float cv3 = contVal2(a1,token); 
       cv4=cv3*cv4; 
      } 

存储在变量中的每个标记将它传递给方法之前