簡體   English   中英

反向打印字符串不是反向

[英]Printing string in reverse is not reverse

試圖反轉字符串“從不奇數或偶數”,因為它是一個回文(我想看看一個字符串是否是一個)。 一些字符串,例如 '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));
}

輸入“從不奇數或偶數”輸出“neve ro ddo reven”。

這是為什么? 我不打算使用 StringBuilder,因為我們還沒有學到。 必須在 for 循環中。

因為一個空格仍然是一個字符。 您正在反向打印該字符串中的每個字符,包括空格。

這正是您所期望的行為。

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

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));}
}
       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));
            }
        }

試試上面的代碼

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM