• 大小: 2.01MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-17
  • 语言: Java
  • 标签: 源码  工具  

资源简介

NULL 博文链接:https://lzj0470.iteye.com/blog/850634

资源截图

代码片段和文件信息

/*
 * Copyright 2002-2007 Robert Breidecker.
 * 
 * Licensed under the Apache License Version 2.0 (the “License“);
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *      http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing software
 * distributed under the License is distributed on an “AS IS“ BASIS
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package net.sourceforge.jeval;

import java.util.Enumeration;

/**
 * This class allow for tokenizer methods to be called on a String of arguments.
 */
public class ArgumentTokenizer implements Enumeration {

/**
 * The default delimitor.
 */
public final char defaultDelimiter = 
EvaluationConstants.FUNCTION_ARGUMENT_SEPARATOR;

// The arguments to be tokenized. This is updated every time the nextToken
// method is called.
private String arguments = null;

// The separator between the arguments.
private char delimiter = defaultDelimiter;

/**
 * Constructor that takes a String of arguments and a delimitoer.
 * 
 * @param arguments
 *            The String of srguments to be tokenized.
 * @param delimiter
 *            The argument tokenizer.
 */
public ArgumentTokenizer(final String arguments final char delimiter) {
this.arguments = arguments;
this.delimiter = delimiter;
}

/**
 * Indicates if there are more elements.
 * 
 * @return True if there are more elements and false if not.
 */
public boolean hasMoreElements() {
return hasMoreTokens();
}

/**
 * Indicates if there are more tokens.
 * 
 * @return True if there are more tokens and false if not.
 */
public boolean hasMoreTokens() {

if (arguments.length() > 0) {
return true;
}

return false;
}

/**
 * Returns the next element.
 * 
 * @return The next element.
 */
public object nextElement() {
return nextToken();
}

/**
 * Returns the next token.
 * 
 * @return The next element.
 */
public String nextToken() {
int charCtr = 0;
int size = arguments.length();
int parenthesesCtr = 0;
String returnArgument = null;

// Loop until we hit the end of the arguments String.
while (charCtr < size) {
if (arguments.charAt(charCtr) == ‘(‘) {
parenthesesCtr++;
} else if (arguments.charAt(charCtr) == ‘)‘) {
parenthesesCtr--;
} else if (arguments.charAt(charCtr) == delimiter
&& parenthesesCtr == 0) {

returnArgument = arguments.substring(0 charCtr);
arguments = arguments.substring(charCtr + 1);
break;
}

charCtr++;
}

if (returnArgument == null) {
returnArgument = arguments;
arguments = ““;
}

return returnArgument;
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        400  2011-11-10 22:01  loiyCalculator\.classpath

     文件        341  2010-12-02 22:17  loiyCalculator\.fatjar

     文件        390  2010-11-29 23:38  loiyCalculator\.project

     文件         88  2010-12-23 21:16  loiyCalculator\.settings\org.eclipse.core.resources.prefs

     文件       1090  2010-11-29 23:40  loiyCalculator\bin\images\10_1.png

     文件       1082  2010-12-01 20:04  loiyCalculator\bin\images\10_2.png

     文件        905  2010-11-29 23:40  loiyCalculator\bin\images\11_1.png

     文件        888  2010-12-01 20:04  loiyCalculator\bin\images\11_2.png

     文件        947  2010-11-29 23:40  loiyCalculator\bin\images\12_1.png

     文件        907  2010-12-01 20:10  loiyCalculator\bin\images\12_2.png

     文件        922  2010-11-29 23:40  loiyCalculator\bin\images\13_1.png

     文件        907  2010-12-01 20:10  loiyCalculator\bin\images\13_2.png

     文件        947  2010-11-29 23:40  loiyCalculator\bin\images\14_1.png

     文件        926  2010-12-01 20:10  loiyCalculator\bin\images\14_2.png

     文件        936  2010-11-29 23:40  loiyCalculator\bin\images\15_1.png

     文件        923  2010-12-01 20:10  loiyCalculator\bin\images\15_2.png

     文件       1067  2010-11-29 23:40  loiyCalculator\bin\images\16_1.png

     文件       1052  2010-12-01 20:10  loiyCalculator\bin\images\16_2.png

     文件        938  2010-11-29 23:40  loiyCalculator\bin\images\17_1.png

     文件        924  2010-12-01 20:09  loiyCalculator\bin\images\17_2.png

     文件        935  2010-11-29 23:40  loiyCalculator\bin\images\18_1.png

     文件        937  2010-12-01 20:09  loiyCalculator\bin\images\18_2.png

     文件       1072  2010-11-29 23:40  loiyCalculator\bin\images\19_1.png

     文件       1062  2010-12-01 20:09  loiyCalculator\bin\images\19_2.png

     文件        941  2010-11-29 23:40  loiyCalculator\bin\images\1_1.png

     文件        937  2010-12-01 20:01  loiyCalculator\bin\images\1_2.png

     文件        910  2010-11-29 23:40  loiyCalculator\bin\images\20_1.png

     文件        896  2010-12-01 20:09  loiyCalculator\bin\images\20_2.png

     文件        908  2010-11-29 23:40  loiyCalculator\bin\images\21_1.png

     文件        895  2010-12-01 20:21  loiyCalculator\bin\images\21_2.png

............此处省略548个文件信息

评论

共有 条评论