Java奇怪的字符串间距问题

Java奇怪的字符串间距问题,java,string,format,space,Java,String,Format,Space,我正在创建一个java程序,它使用密码对用户键入的任何消息进行编码。它可以完美地处理诸如“hello”和“testing”这样的单个单词,但当您添加空格时,如消息“hello world”,它就开始崩溃。下面是代码: import java.util.Scanner; import java.util.ArrayList; public class Code { public static void main(String[] args) { Scanner shiftValue =

我正在创建一个java程序,它使用密码对用户键入的任何消息进行编码。它可以完美地处理诸如“hello”和“testing”这样的单个单词,但当您添加空格时,如消息“hello world”,它就开始崩溃。下面是代码:

import java.util.Scanner;
import java.util.ArrayList;
public class Code {

public static void main(String[] args) {
    Scanner shiftValue = new Scanner(System.in);
    System.out.print("Please enter shift value: ");
    int shift = shiftValue.nextInt();
    String alphabet = "abcdefghijklmnopqrstuvwxyz"; 
    Scanner input = new Scanner(System.in);
    String codeInput = "anything";
    int index = 0;

    while(!codeInput.equals("end")) {
        System.out.println();
        System.out.println("Please enter message: ");
        codeInput = input.next(); 

        for(int i = 0; i < codeInput.length(); i++){ 
            if(Character.isWhitespace(codeInput.charAt(i))){
                System.out.print(" ");
            }
            else {
                while(alphabet.charAt(index) != codeInput.charAt(i)){           
                        index++;                                    
                }

                if(index > 25 - shift){                     
                    index = index - (26 - shift);
                    System.out.print(alphabet.charAt(index));                       
                }
                else {
                    System.out.print(alphabet.charAt(index + shift));
                }           

            }
            index = 0;  
        }
    }

} //method

} //class
但是,当我在多个单词之间键入空格时,看起来是这样的:

Please enter shift value: 3

Please enter message: 
hello world
khoor
Please enter message: 
zruog
Please enter message: 
出于某种原因,它不是以与输入相同的句子格式显示两个单词,而是对第一个单词进行编码,然后在编码第二个单词之前再次遍历整个while循环

我不知道为什么会发生这种情况,所以我非常感谢你们能给我的任何帮助或建议。
感谢您阅读我的帖子,祝您度过愉快的一天。

扫描仪已为您拆分输入,默认情况下为空白。 JavaDoc:

扫描器使用定界符模式将其输入拆分为标记,默认情况下,定界符模式匹配空白

Please enter shift value: 3

Please enter message: 
hello world
khoor
Please enter message: 
zruog
Please enter message: