java - 为什么返回类型不适用于数组?
问题描述
如果字符在数组中可用,我希望下面的代码返回“i”的值,否则我想返回-1。但是,每当我执行代码时,它都会为这两个条件返回 -1。你能指导我哪里出错了吗?
public class CharacterList {
private char[] charArray;
private int count;
public CharacterList(int arraySize) {
charArray = new char[arraySize];
for (int i = 0; i < charArray.length; i++) {
charArray[i] = ' ';
}
count = 0;
}
public int indexOf(char searchingChar) {
int a = 0;
for (int i = 0; i < charArray.length; i++) {
if (charArray[i] == searchingChar) {
a = i;
} else {
a = -1;
}
}
return a;
}
}
解决方案
每次字符不是您要搜索的字符时,您都会a
重置。-1
相反,当你找到它时返回索引并-1
在方法结束时返回。
public int indexOf(char searchingChar) {
for (int i = 0; i < charArray.length; i++) {
if (charArray[i] == searchingChar) {
return i;
}
}
return -1;
}
推荐阅读
- php - 从注册到 Woocommerce Checkout 获取自定义字段
- python - Pandas:如何根据频率有效过滤数据
- mysql - 显示创建用户'root'@'localhost';给我错误 1064 (42000):您的 SQL 语法有错误;
- java - 为什么套接字 connect() 方法超时?netcat (nc) 工作正常
- python - 使用 SMTP 发送邮件时,它会破坏 utf-8 字符
- javascript - 带有对象属性的 Vue 计算设置器
- amazon-web-services - 在 AWS Landing zone seup 中设置个人开发者账户
- python - 比较两张电子名片
- javascript - 我的完整日历只列出了我在 for 循环中拥有的 3 个事件中的 1 个?
- twitter - 如何将另一个人添加到 twitter api?