将标记传递给java中的函数

时间:2015-04-05 13:50:34

标签: java string function stringtokenizer

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

                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;

                }

1 个答案:

答案 0 :(得分: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;
            }