java - 将数组移位 k

标签 java

我正在开发一个小型java程序,它非常基本,我的功能之一是按给定的键移动字母表。我已经让它工作了,但是它转向错误的方向,我怎样才能使它转向另一个方向?

public static char[] ourAlphabet = {'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'};


    public  char[] shiftAlphabet(int key) {

            int length = ourAlphabet.length;

            char[] result = new char[length];

            for (int i=0; i < length; i++)
            {
                result[(i+key+26)%length] = ourAlphabet[i];
            }

            return result;
    }

我猜它很简单,但它让我困惑!

例如; 用 key 19 产生; hijklmnopqrstuvwxyzabcdefg

什么时候应该产生; TUVWXYZABCDEFGHIJKLMNOPQRS

最佳答案

更改为:

result[i] = ourAlphabet[(i+key)%length];

关于java - 将数组移位 k,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7308458/

相关文章:

java - 如何在 Java 中将 RegEx 表达式作为参数传递?

java - 使用 sharedpreferences 保存一个数组列表并在 ListView 中显示

java - JOptionPane 并从输入中获取文本

java - 用于检测 Android 字符串资源的可注入(inject)部分的正则表达式模式

java - Android 中的日历 View 应显示当前日期后 1 周

java - 如何向 JSF 添加两个属性文件

java - 如何在循环中使用paintComponent?

java - EJB 方法从自身调用 : does the container have influence on it?

java - Spring:如何为特定类型替换Spring的默认集合注入(inject)策略

java - Elasticsearch 中 Java Rest Client 的批量操作