java - 检测最后一个字符
问题描述
我试图使用以前用于整数的数组检查器来检测字符串的最后一个字符是否包含运算符。由于某种原因,即使最后一个字符是运算符,代码也将始终显示“Not In”
class Main {
public static boolean useLoopString(String[] arr, String targetValue)
{
for (String s : arr) {
if (s == targetValue)
return true;
}
return false;
}
public static void main(String[] args) {
String[] op={"+","-","×","÷"};
String eq = "43+4+";
String eqLast=eq.substring(eq.length()-1);
System.out.println(eqLast);
boolean in=useLoopString(op,eqLast);
if(in){
System.out.println("In");
}
else{
System.out.println("Not In");
}
}
}
解决方案
您可以使用 char 进行比较,如下所示:
public static boolean useLoopString(char[] arr, char targetValue) {
for (char ch : arr) {
if (ch == targetValue)
return true;
}
return false;
}
public static void main(String[] args) {
char[] op = { '+', '-', '×', '÷' };
String eq = "43+4+";
char eqLast = eq.charAt(eq.length() - 1);
boolean in = useLoopString(op, eqLast);
if (in) {
System.out.println("In");
} else {
System.out.println("Not In");
}
}
推荐阅读
- sml - “=>”在标准毫升中是什么意思?
- python-3.x - 从行中删除单词并使用python将行保存在文件中
- javascript - 用 javascript 中的变量替换 Datastore 查询
- c# - 从特定项目运行迁移
- docker - 如何在 Amazon ECS 上找到服务地址 (URL) 和/或对 Mailtrain 实例进行故障排除?
- c++ - 用细胞表示迷宫
- regex - 匹配 0 和 1 的正则表达式,其中连续的 1 必须是奇数?
- c - 在汇编中调用 printf() 会导致“浮点异常”
- javascript - 字符串分割图组合的时间复杂度
- javascript - Javascript:过滤多个值的对象数组