首页 > 解决方案 > 为什么我们必须使用 index!= -1 来比较 java 中的 indexOf 字母

问题描述

我不明白为什么我们应该在 if 语句中使用 idx != -1

这是我朋友的代码

public static String encrypt(String input, int key)
        {
            String alphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
            String shifted =alphabet.substring(key)+alphabet.substring(0,key);
            StringBuilder encrypted=new StringBuilder(input);
            for(int i=0; i<encrypted.length();i++)
            {
                char current=encrypted.charAt(i);
                int idx=alphabet.indexOf(current);
                if(idx !=-1) {
                    char newchar = shifted.charAt(idx);
                    encrypted.setCharAt(i, newchar);

                }

            }
            return encrypted.toString();


        }

请帮助我谢谢。

标签: javastringindexing

解决方案


该行将int idx=alphabet.indexOf(current);返回有效索引 0~25,如果它的字母,如果它不是字母字符,那么它将返回 -1 为未找到。


推荐阅读