【问题标题】:Get index of speceific characters in a char array [JAVA]获取 char 数组中特定字符的索引 [JAVA]
【发布时间】:2016-07-03 17:09:50
【问题描述】:

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

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

我怎样才能使这项工作或我有什么不好?

【问题讨论】:

  • 使用== 而不是=...
  • 我仍然得到一个错误,因为它需要一个 chararray 而不是一个 char。

标签: java arraylist


【解决方案1】:

您可以直接将字符串存储在数组中,而不是存储 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. 在此处使用正则表达式

为单个字符串更新代码

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

希望对您有所帮助。

【讨论】:

  • 谢谢!但是我真的不需要将它存储在 ArrayList 中,因为我只有一个字符串?¿?
  • 是的,如果你有一个字符串,那么绝对不需要数组列表。
  • 伙计,我真的很感激,我发起了这个,谢谢!
  • 如果有帮助,如果您能接受它作为答案,不胜感激。
猜你喜欢
  • 2018-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-07
  • 2011-08-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多