我们如何在Java中分离特定类型的组件?

时间:2016-12-23 11:57:15

标签: java arrays arraylist methods

我是Java的初学者。这就是为什么,我需要得到一些帮助。 首先,我们有一个名为Box的特定类型类及其代码:

public class Box {
private String content;

public Box(String content) {
    this.content = content;
}

public String getContent() {
    return content;
}

public void setContent(String content) {
    this.content = content;
}

public boolean isOperator() {
    if (content.matches("\\-?\\d+")) {
        return false;
    } else if (content.equals("*") || content.equals("/") || content.equals("+") || content.equals("-")) {
        return true;
    } else {
        return false;
    }
}

public boolean isOperand() {
    return !isOperator();
}

@Override
public String toString() {
    return "{" + content + "}";
}

}

还有转换器类可以创建框,例如:

"3,+,5" => convert() =>{"3"}{"+"}{"5"}逗号用于分隔符

在main方法中,当我调用下面的代码时,我们如何分开操作?

Converter converter = new Converter("3,+,*,2,/,4,-,7");
    ArrayList<Box> list = converter.convert();

2 个答案:

答案 0 :(得分:0)

您可以使用以下方法:

public static List<Box> convert(String valueToConvert) {
    List<Box> boxList = new ArrayList<Box>();
    for(String value : Arrays.asList(valueToConvert.split(","))) {
        boxList.add(new Box(value));
    }
    return boxList;
}

答案 1 :(得分:0)

如果保证每个字符在下一个字符之后都有逗号:

char[] characters = whateverString.toCharArray();
// characters[0] is first character, characters[1] is comma
// characters[2] is second character, characters[3] is comma
// and so on
// characters.length has the number of characters (including commas)