- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个程序,查找一行文本中是否存在一对由 2 个字母组成的字母,例如,如果输入“AA”,我会在字母表 [0][0] 中加 1。当我尝试输入“aabbcc”时出现此错误:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 32
at Freq.processLine(Freq.java:25)
at Freq.main(Freq.java:12)
当我输入“AABBCC”时出现此错误:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 6
at java.lang.String.charAt(String.java:658)
at Freq.processLine(Freq.java:23)
at Freq.main(Freq.java:12)
我不确定为什么会收到这些错误。任何帮助将不胜感激。这是我的代码:
import java.util.Scanner;
public class Freq{
private static final int ROWS = 26;
private static final int COLS = 26;
private static int[] [] alphabet = new int[ROWS][COLS];
public static void main(String[] args) {
String line;
Scanner userInput = new Scanner(System.in);
while(userInput.hasNextLine()) {
line = userInput.nextLine();
processLine(line);
}
}
public static void processLine(String line) {
line.toUpperCase();
for(int i = 0; i < alphabet.length; i++) {
for(int j = 0; j < alphabet[i].length; j++) {
for (int a = 0; a < line.length(); a++) {
char firstLetter = line.charAt(a);
char secondLetter = line.charAt(a + 1);
if (firstLetter == secondLetter) {
alphabet[firstLetter - 65][secondLetter - 65] = alphabet[firstLetter - 65][secondLetter - 65] + 1;
}
}
}
}
for (int b = 0; b < alphabet.length; b++) {
for (int c = 0; c < alphabet[b].length; c++){
System.out.print(alphabet[b][c] + " ");
System.out.println();
}
}
}
}
1 Câu trả lời
第一期在这里:
line.toUpperCase();
返回转换为大写的字符串,并保持原始字符串不变。这很清楚,因为 Java 中的字符串是不可变的。
所以你需要做的是:
line = line.toUpperCase();
另一个问题是 line.charAt(a + 1);
超出了 a = line.length() - 1
的范围。
关于java - 二维数组的 OutOfBounds 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42259004/
我有这个数组: ArrayList problems = new ArrayList ( 100 ); 然后我尝试制作一个对象放入其中: Problem p = new Problem (); p.s
我正在编写一个java程序,它将电话簿信息存储在数组中。每当我尝试将一些条目放入该数组中时,都会出现 OutOfBound 异常。 private int size = 0; private Entr
我正在编写一个程序,查找一行文本中是否存在一对由 2 个字母组成的字母,例如,如果输入“AA”,我会在字母表 [0][0] 中加 1。当我尝试输入“aabbcc”时出现此错误: Exception i
我知道这听起来可能很奇怪,但是是的,现在是 2009 年,我需要使用 BCB5 编写小型应用程序 :) 问题是 DynamicArray 在尝试从工作线程内扩展它时抛出 OutOfBound 异常。
我正在尝试为游戏编写交易插件。我的想法是,一个玩家向另一个玩家发送请求,如果另一个玩家接受,那么双方都必须选择一个元素进行交易。 我有 4 个 ArrayList:存储请求者、存储请求、存储请求者选择
LogCat 输出的错误指向 QuestionView.java 的第 37 行,我将在下面的代码中对其进行注释。下面我有 4 个类的 4 个 fragment 。我还有 LogCat 的输出。 Ma
我正在尝试运行我的应用程序,但出现构建错误 - OutOfBounds.com.android.build.api.transform.TransformException:java.lang.Arr
我正在尝试使用 RecyclerView 构建一个简单的列表,这将允许我添加/删除项目。 我可以删除这些项目,但在删除项目后,似乎没有“重新计算”位置。 例如,我的列表中有 20 个项目,如果删除最后
Câu hỏi này đã có câu trả lời: Chỉ số mảng nằm ngoài hành vi giới hạn (10 câu trả lời) Đã đóng 8 năm trước. Tôi tò mò về đoạn mã C sau int main(){
Tôi là một lập trình viên xuất sắc, rất giỏi!