- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的代码有问题。我正在编写一个必须管理每周深蹲训练的程序。可以记录之前的训练或安排一整周的训练。在第二种情况下,用户必须输入每天的深蹲次数和他认为的难度。我用一个有 3 种声音(简单、中等、困难)的选择框来管理每天的难度,当我读取所选值时,我将其保存为 int 以便轻松地将其用于程序中的其他操作(简单 = 1、中=2、硬=3)。
现在,我的问题是我有 7 个 choiceBox,每天一个,而我只需要一种方法来处理它们。每次用户从这些 choiceBox 之一中选择一个值时,它应该调用扫描所有 7 个 choiceBox 的值并更新相对 int 值的方法。我采用这种解决方案是因为我只使用 7 个 choiceBox 的一种方法,并且我不知道哪个方法调用该方法。为此,我创建了一个 choiceBox vector ,并使用了从 0 到 < .length 的 for cicle,但每次我在任何 choiceBox 中选择一个语音时,cicle 都会超出范围。我还创建了一个相对的 int 数组来解决不同的困难。
这里是异常和我的方法:
线程“JavaFX 应用程序线程”java.lang.ArrayIndexOutOfBoundsException 中出现异常:7
public void weekDifficulties() {
for (j = 0; j < arrayCB.length; j++) {
arrayCB[j].getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue ov, Number oldValue, Number newValue) {
if ((Integer) newValue >= 0 && (arrayCB[j].getItems().get((Integer) newValue).equals("Easy")))
arrayDifficulties[j] = "1";
else if ((Integer) newValue >= 0 && (arrayCB[j].getItems().get((Integer) newValue).equals("Medium")))
arrayDifficulties[j] = "2";
else if ((Integer) newValue >= 0 && (arrayCB[j].getItems().get((Integer) newValue).equals("Hard")))
arrayDifficulties[j] = "3";
}
});
}
}
感谢您的帮助
最佳答案
j
似乎是一个领域。在这种情况下,当触发监听器时,它包含最后分配给它的值,即 arrayCB.length
=arrayCB.length
(=第一个 int
,其中 j < arrayCB.length
产生 false
)。这当然会导致ArrayIndexOutOfBoundsException
.
因为您显然需要访问 j
的值执行循环体时的字段,您需要将其复制到变量:
for (j = 0; j < arrayCB.length; j++) {
final int index = j;
arrayCB[j].getSelectionModel().selectedIndexProperty().addListener(new ChangeListener<Number>() {
@Override
public void changed(ObservableValue ov, Number oldValue, Number newValue) {
if ((Integer) newValue >= 0 && (arrayCB[index].getItems().get((Integer) newValue).equals("Easy")))
arrayDifficulties[index] = "1";
...
}
});
}
此外j
可能不应该首先声明为字段
关于java - JavaFX 的 OutOfBoundsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37776454/
我有一个 ArrayIndexOutOfBoundsException 问题,它总是出现在我的程序中。我怎样才能进入 try{} ? @Override public Object pop()
这个问题已经有答案了: Are fields initialized before constructor code is run in Java? (5 个回答) 已关闭 7 年前。 我(相对)是j
do{ System.out.println("inside do"); for (int i = 0; i < i2; i++) { Str
我正在为学校做一个项目,我们必须多次旋转一个立方体,并找到从立方体收到的数字的最长运行。我几乎完成了代码,它符合要求,但每当我运行它时,我都会遇到同样的错误: Exception in thread
我正在编写一个应用许多计算语言学原理的程序。我现在的问题是下面的一段代码形成了一个“灵活化两个定义”的方法。也就是说,它比较同一个词的两个不同定义,并且在每个定义中将添加空格或空格,以便稍后使用更改后
我尝试在 Symfony 2 中创建一个自定义身份验证提供程序,只是为了好玩。我关注这个文档 http://symfony.com/doc/current/cookbook/security/cust
假设我有一个方法接受 0 到 x 之间的值。如果参数大于 x 或小于零,我想抛出异常。 OutOfBoundsException 是抛出的合理异常吗? http://php.net/manual/en
嘿,我有一个问题,为什么我的程序会抛出 ArrayIndextOutofBounds 异常我在互联网上到处查看并浏览了代码,但我知道我遗漏了一些东西。这是我第一个实现了堆栈的程序,坦率地说,我并不完全
我正在尝试创建一个 RecyclerView,它根据 Firebase 中的数据填充 CardView。当 Firebase 中没有数据时,我收到 IndexOutOfBoundsException,
我正在编写一个程序来删除单词中的重复字母,但它在第 22 行显示越界错误,我无法弄清楚问题是什么。代码如下 import java.io.*; public class p23 { publi
我的代码有问题。我正在编写一个必须管理每周深蹲训练的程序。可以记录之前的训练或安排一整周的训练。在第二种情况下,用户必须输入每天的深蹲次数和他认为的难度。我用一个有 3 种声音(简单、中等、困难)的选
我正在使用 ListView 来呈现类似 GridView 的 Activity 。存在 OutOfBoundsException。这是日志。 03-21 11:47:13.106: E/Androi
我收到以下错误: Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 86, Size: 86 at java
如果对象 LimitIterator 为空,我如何编写一个不运行下面的 foreach 的条件? $numbers = array(5, 19, 8, 35, 50); $iterator = new
PHP 定义了两个 SPL无效键的异常(exception)情况: OutOfRangeException: Exception thrown when an illegal index was re
我有以下代码: @SuppressWarnings("resource") public void changeSkin(String name){ try { URL uui
这是我实现埃拉托斯特尼筛法的函数, void solve() throws IOException { int n = 200000; ArrayList primes = new A
这个问题已经有答案了: Array index out of bounds when getting arguments (4 个回答) 已关闭 7 年前。 我正在处理一项作业,但不允许我使用扫描仪。
我不是专家,不知道为什么会越界 public class ParticipantIndexComparator implements Comparator { final List parti
对于我的 CompSci 类(class),我们正在为我们的聊天机器人项目制作一个 Would You Rather? 功能。 String.split() 方法对此很有效,但如果我们不用它也能做到,
我是一名优秀的程序员,十分优秀!