反向打印字符串不反向

时间:2019-02-07 10:22:57

标签: java

尝试将字符串“绝不奇数”反转,因为它是回文(我想看看字符串是否为1)。某些字符串(例如“ racecar”)可以正常工作,但后者会产生怪异的结果。

Scanner inp = new Scanner(System.in);
System.out.print("In:");
String s = inp.nextLine();

for (int i = s.length() - 1; i>=0; i--) {
  System.out.print(s.charAt(i));
}

输入“从不奇数或偶数”将输出“从无到有”。

那是为什么? 我不会使用StringBuilder,因为我们还没有学到。必须处于for循环中。

3 个答案:

答案 0 :(得分:0)

因为空格仍然是字符。您正在反向打印该字符串中的每个字符,包括空格。

这正是您所期望的行为。

答案 1 :(得分:0)

不要在原始字符串中打印空格:

Scanner inp = new Scanner(System.in);
System.out.print("In:");
String s = inp.nextLine();

for (int i = s.length() - 1; i>=0; i--) {
   if (s.charAt() != ' ') {System.out.print(s.charAt(i));}
}

答案 2 :(得分:0)

       Scanner inp = new Scanner(System.in);
       System.out.print("In:");
       String s = inp.nextLine();
         for (int i = s.length() - 1; i>=0; i--) {
            if(s.charAt(i)==' ') {
                continue;
            }
            else {
                System.out.print(s.charAt(i));
            }
        }

尝试上面的代码