java - 为什么我们必须使用 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();
}
请帮助我谢谢。
解决方案
该行将int idx=alphabet.indexOf(current);
返回有效索引 0~25,如果它的字母,如果它不是字母字符,那么它将返回 -1 为未找到。
推荐阅读
- react-router - 使用 OWIN 托管 REACT spa 应用程序和 REST Web API
- sql - SQL插入在另一个子查询中使用子查询结果
- testing - Polly.js - 是否可以创建 1 个可用于多个测试的 Polly 记录?
- python - Azure 机器学习工作室上安装的 Python 模块在哪里
- python - 有没有办法以 Django 形式获取选定的对象?
- python - 来自 tfhub SLOW 的 BERT,不使用 GPU
- reactjs - 集成 Auth0 和 Hasura 时未找到拒绝访问服务
- reactjs - 当我对此 .jsx 文件进行更改时,反应没有更新。仅当我尝试在服务器上进行更改时才会发生
- c++11 - "( (x
这是一个功能。
int find(int x, int y){ return( (x<y) ? 0 : (x-y) ); }
当我们执行时
find(x,find(x,y))
,它将给出 x 和 y 的最小值。我- node.js - express 如何将 url 与适当的路由匹配?