字符数组中的索引超出范围错误

问题描述

请我正在练习一些Java问题。我试图返回整数中的非重复字符。我已经编写了代码,它适用于某些字符串,但有些却导致索引超出范围错误。我不知道我在哪里做错了 这是我的代码:

class Challenge {
  static final int n = 256;
  static char[] count = new char[n];
  String str;
  
  static void charCounter( String str ) {
    for(int i = 0; i < str.length(); i++){
      count[str.charAt(i)]++;
    }
  }
  
  public static String firstNonRepeatingLetter( String str ) {
    charCounter(str);
    int pos = -1,i;
    for(i = 0; i < str.length(); i++){
      if(count[str.charAt(i)] == 1){
        pos = i;
        break;
      }
    }
    return Character.toString(str.charAt(pos));
  }
}

解决方法

您没有考虑过所有字母重复的情况,例如字符串“ ABBA”。

在这种情况下,您尚未完全指定该方法应该执行的操作,但是如果可以返回空字符串,则可以将return语句更改为:

if (pos < 0) return "";
return Character.toString(str.charAt(pos));
,
ttk.Label(root,text="How many points do you want to input:").pack()
cell_content = StringVar()
cell_content.trace_add("write",my_tk.retrieve_cell_content)
cell_content_entry = Entry(root,width = 8,textvariable = cell_content)
cell_content_entry.pack()


tkinterFunctions.py
def retrieve_cell_col(self,*args):
    global CELL_COL
    temp = cell_col.get()
    temp = temp.upper()

如果您输入的字符串不满足if(count[str.charAt(i)] == 1){ pos = i; break; } 。然后pos值将保持为-1->这将在return语句中导致错误

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...