[英]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.