Java:String中的下一个字符

时间:2014-11-15 03:05:43

标签: java loops character

我有一个由随机字符生成的字符串,它将加密用户给出的另一个字符串,方法是将String中的第一个字符与给定字符串的第一个字符相加。它工作正常,但如果用户输入多个单词之间有空格,我想选择第一个String的下一个字符而不是编码空间本身。那可能吗?这就是我所拥有的:

(random是编码字符串,sentenceUpper是用户给出的字符串)

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;

}

编辑更好的解释:

我有:

字符串随机=&#34; WFAZYZAZOHS&#34 ;;

我想编写用户输入代码:

String upperCase:&#34;你去&#34 ;;

所以,我要采取Y + L = U等... 要得到 : &#34; UTUSEN &#34; 但是,我发现在#34;你去的地方有一个空间。 ,所以我想把它改成:  WFA ZY +你GO = UTU SE。

我希望能更好地解释一下。

1 个答案:

答案 0 :(得分:0)

执行此操作的最简单方法可能是使用if语句仅在字符不是空格时才在循环中运行代码。如果您不想跳过随机字符串中的字符,则需要一个单独的变量来跟踪该字符串中的当前字符索引。

示例:在定义onetwo之后放置它并将其余部分放在其中:

if(two==' '){
    ...
}

然后,在输出中添加空格:

else{
    newSentence+=" ";
}