java - 如何将下一个数组项设置为变量的新值?

标签 java arrays loops

我有一个字母表数组,如果用户有字母 A,那么使用此方法,用户的字母将从 A 更改为 B。

public class Letter {
    private char letter;

    public Letter(){
        letter = 'A';
    }

public char volgende(){
        char[] alfabet = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
        for (int i=0; i <= alfabet.length-1 ; i++) {
            if (alfabet[i] == letter){
                letter = alfabet[i++];
            }
        }
        System.out.println("Nieuwe letter is " + letter);
        return letter;
    }

我期望这段代码将默认字母 A 转换为 B,但事实并非如此。我尝试用字符“B”替换 alfabet[i++],但这有效,所以我不知道为什么 alfabet[i++] 不会,因为它是数组中的下一项。

最佳答案

您正在使用后增量运算符。您需要使用预增量运算符,例如

字母 = alfabet[++i]

顺便说一句,它是拼写字母表的,请记住,Z 将导致 IndexOutOfBoundsException 错误,因为它是最后一个索引。

关于java - 如何将下一个数组项设置为变量的新值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55361942/

相关文章:

java - 没有 Spring,Hibernate 有意义吗?

java - 数组更改未显示在主方法中

java - Android Java 中嵌套循环内的列表数组和字符串数组/多行字符串

java - IllegalMonitorStateException Java Android

java - 迭代 Line2D 中包含的 Point2D

c - 从文件中读取内容

ios - 在IOS中添加具有属性名称的变量值

javascript - 使用 json_encode() 和 JSON.parse 后地址数组输出错误

java - libgdx:使用相机测试对象是否超出屏幕

c - 返回值3221225725,可能缓冲区溢出?