我编写了一个计算器,我想在char数组中找到运算符索引。我的代码现在看起来像:
我在if语句中遇到错误,因为它需要一个char数组而不是char。
我怎样才能完成这项工作或者我做坏事?
答案 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));
}
}
}
缩短此代码的其他方法是
针对单字符串更新的代码
ArrayList<Integer> indexOperator = new ArrayList<Integer>();
char[] operators={ '+', '-', '*', '/'};
for(char operator:operators) {
if(txt.indexOf(operator)!= -1){
indexOperator.add(txt.indexOf(operator));
}
}
希望有所帮助。