为什么我们必须使用index!= -1比较Java中的indexOf字母

时间:2018-06-29 05:30:35

标签: java string indexing

我不知道为什么要在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();


        }

请帮助我 谢谢。

2 个答案:

答案 0 :(得分:2)

如果int idx=alphabet.indexOf(current);行是字母,则返回有效索引0〜25;如果不是字母字符,则返回-1(找不到)。

答案 1 :(得分:1)

公共int indexOf(String str)是String类中的函数。
str是您要查找的搜索字符串,它返回找到它的位置(索引)。

如果找不到,它将返回-1

如果您找不到想要的字符,您想做任何事情,那么您需要将返回值与-1比较。