首页 > 解决方案 > 为什么返回类型不适用于数组?

问题描述

如果字符在数组中可用,我希望下面的代码返回“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;
  }
}

标签: javaarrays

解决方案


每次字符不是您要搜索的字符时,您都会a重置。-1相反,当你找到它时返回索引并-1在方法结束时返回。

  public int indexOf(char searchingChar) {
    for (int i = 0; i < charArray.length; i++) {
      if (charArray[i] == searchingChar) {
        return i;
      }
    }
    return -1;
  }

推荐阅读