增加"空白"为" 5"时间会导致错误吗?

时间:2015-10-24 19:02:40

标签: java string char whitespace increment

有一个赋值,我必须将字符串中的每个索引按用户设置的数量递增以生成新名称。

换句话说,

键入您的名字: 海伦李 要递增的整数键: 1 新名称:gfmfo!mff

因此,将每个指数都放在" helen lee"增加1.

这就是问题所在。 Java将字符串中的每个索引视为一个字符。甚至是空白。 所以当我增加" * whitespace "到2,它将产生" @"。

但是

当我将空格增加5时,将发生错误。 (应该产生"%")。 有没有其他方法可以在不调用错误的情况下将空格增加5?

这是我的代码:

    String alpha = " ";
    int integer = 0;

    System.out.println("Question 1: ");
    Scanner alphaInput = new Scanner(System.in); 
    System.out.println("Please enter your name. "); 
    alpha = alphaInput.nextLine();

    Scanner intInput = new Scanner(System.in);
    System.out.println("How many cycles to cycle your name: ");
    integer = intInput.nextInt();

    int stringIndex = alpha.length();
    char newName; 

    System.out.printf("Your new name is: "); 
    for(int i = 0; i < stringIndex; i++)
    {
        newName = (char) (alpha.charAt(i) + integer); 
        System.out.printf("" + newName);
    };

1 个答案:

答案 0 :(得分:0)

问题是你使用System.out.printf。该方法将%解释为特殊值,并期望更多数据。您应该使用System.out.print(不带f)代替。有关详细信息,请参阅printf的{​​{3}}。