我不知道为什么要在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();
}
请帮助我 谢谢。
答案 0 :(得分:2)
如果int idx=alphabet.indexOf(current);
行是字母,则返回有效索引0〜25;如果不是字母字符,则返回-1(找不到)。
答案 1 :(得分:1)
公共int indexOf(String str)是String类中的函数。
str是您要查找的搜索字符串,它返回找到它的位置(索引)。
如果找不到,它将返回-1
如果您找不到想要的字符,您想做任何事情,那么您需要将返回值与-1比较。