【发布时间】:2018-12-08 05:49:08
【问题描述】:
我不明白为什么我们应该在 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();
}
请帮帮我 谢谢。
【问题讨论】:
-
如果没有找到
indexOf的结果将是-1 -
因为
indexOf将返回您在给定字符串中寻找的char的位置。如果没有找到,则返回 -1 -
查看
String#indexOf(int ch)here 的JavaDoc。 -
因为您调用的方法的公开文档建议这样做。