获取char数组中的speceific字符索引[JAVA]

时间:2016-07-03 17:09:51

标签: java arraylist

我编写了一个计算器,我想在char数组中找到运算符索引。我的代码现在看起来像:

looking of the code:

我在if语句中遇到错误,因为它需要一个char数组而不是char。

我怎样才能完成这项工作或者我做坏事?

1 个答案:

答案 0 :(得分:0)

您可以直接将String存储在数组中,而不是存储char数组,而不是

ArrayList<String> texto = new ArrayList<String>();
texto.add(text);

然后你可以使用String indexOf函数搜索运算符索引。

所以你的最终代码将是这样的:

ArrayList<Integer> indexOperator = new ArrayList<Integer>();
ArrayList<String> texto = new ArrayList<String>();
texto.add(txt);
for(int i = 0; i<texto.size; i++){
for(char operator:operators) {
if(texto.get(i).indexOf(operator)!= -1){
    indexOperator.add(texto.get(i).indexOf(operator));
}
}
}

缩短此代码的其他方法是

  1. 将所有运算符放在数组中,然后通过循环匹配。
  2. 在这里使用正则表达式
  3. 针对单字符串更新的代码

    ArrayList<Integer> indexOperator = new ArrayList<Integer>();
    char[] operators={ '+', '-', '*', '/'};
    for(char operator:operators) {
    if(txt.indexOf(operator)!= -1){
        indexOperator.add(txt.indexOf(operator));
    }
    }
    

    希望有所帮助。