[英]Java: Next character in String
我有一个随机字符生成的字符串,该字符串将通过将字符串中的第一个字符与给定字符串的第一个字符相加,来加密用户给定的另一个字符串。 它工作正常,但是如果用户要输入多个单词,并且中间使用空格,则我想选择第一个String的下一个字符,而不是对空格本身进行编码。 那可能吗? 这就是我所拥有的:
(随机是编码字符串,句子Upper是用户指定的字符串)
public static void encrypt(String sentenceUpper){
String newSentence = "";
for(int i = 0; i < sentenceUpper.length(); i++){
char one = random.charAt(i);
char two = sentenceUpper.charAt(i);
if(one < 'A' || one > 'Z'){
two = sentenceUpper.charAt(1 + i);}
char result = (char)((one + two)%26 + 'A');
newSentence += "" + result;
}
编辑更好的解释:
我有:
字符串随机=“ WFAZYZAZOHS”;
我想编码用户输入:
字符串大写:“ YOU GO”;
因此,我将采用Y + L = U,以此类推...得到:“ UTUSEN”,但是我看到“ YOU GO”中有一个空格,所以我想将其更改为:WFA ZY +你去= UTU SE。
我希望能得到更好的解释。
最简单的方法可能是,仅当字符不是空格时,才使用if
语句在循环中运行代码。 如果不想跳过随机字符串中的字符,则需要一个单独的变量来跟踪该字符串中的当前字符索引。
示例:在定义one
和two
之后放置它,并将循环的其余部分放到其中:
if(two==' '){
...
}
然后,在输出中添加空格:
else{
newSentence+=" ";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.