如何在使用忽略空格的代码行后“恢复”空格? (回文赋值)

问题描述 投票:0回答:1

我正在努力弄清楚如何将空格放回到代码的输出中。例如,如果回文是“赛车”,我需要首先使用

userInput = userInput.replace(" ","");
忽略该语句中的空格,但随后我需要程序仍然打印“回文:赛车”而不是“赛车”。有人可以帮我解决这个问题吗? (忽略我的变量的奇怪名称,我的教授不相信我编码的有效性,并认为我复制了其他人,所以我使用这些独特的短语/单词让他知道我没有作弊。)

import java.util.Scanner;

public class LabProgram {
   public static void main(String[] args) {
   
   Scanner twice = new Scanner(System.in);
   String wasabi = twice.nextLine();
   String ibasaw = "";
   String[] split = wasabi.split(" ");
   wasabi = wasabi.replace(" ","");
   
   for(int i = wasabi.length()-1;i>=0;i--)
   {
      ibasaw=ibasaw+wasabi.charAt(i);
   }
   if(wasabi.toLowerCase().equals(ibasaw.toLowerCase()))
   {
      System.out.println("palindrome: " + wasabi);
   }
   else
   {
      System.out.println("not a palindrome: " + wasabi);
   }
 }
}

我尝试使用空格和字符串分割进行输入,但都不起作用。

java palindrome
1个回答
0
投票

您可以使用第三个变量来存储原始/修改后的字符串:

(参见

sushi


public class LabProgram {
   public static void main(String[] args) {
   
   Scanner twice = new Scanner(System.in);
   String sushi = twice.nextLine();
   String ibasaw = "";
   String wasabi = sushi.replace(" ","");
   
   for(int i = wasabi.length()-1;i>=0;i--)
   {
      ibasaw=ibasaw+wasabi.charAt(i);
   }
   if(wasabi.toLowerCase().equals(ibasaw.toLowerCase()))
   {
      System.out.println("palindrome: " + sushi);
   }
   else
   {
      System.out.println("not a palindrome: " + sushi);
   }
 }
}
© www.soinside.com 2019 - 2024. All rights reserved.