package learning;
import java.util.* ;
public class Learning {
public static void main(String[] args) {
String normal , cipher;
String shiftstr;
int shiftint, s;
System.out.println("Welcome To Ceasar Shift Creator");
Scanner in = new Scanner(System.in);
normal = in.nextLine();
char[] proc = normal.toCharArray();
int length;
length = normal.length();
System.out.println("Ok now tell me how many times you want it to be shifted ");
shiftstr = in.nextLine();
shiftint = Integer.parseInt(shiftstr);
s = 0;
for(int i =0; i < length ; i++){
while( s < shiftint){
proc[i]++;
s++;
}
System.out.print(proc[i]);
}
}
我希望整个单词向前移动相同的否定。用户提到的时间。但只有第一个字母被移位。我知道我没有做得很正确,但仍然帮助我...
答案 0 :(得分:1)
当i
为0时,内部while循环只输入一次。这就是为什么只有proc [0]被更改的原因。
你不需要内循环:
for(int i =0; i < length ; i++){
proc[i]+=shiftint;
System.out.print(proc[i]);
}
答案 1 :(得分:1)
设置回0。
for (int i = 0; i < length; i++) {
while (s < shiftint) {
proc[i]++;
s++;
}
System.out.print(proc[i]);
s=0;
}