我正在努力弄清楚如何将空格放回到代码的输出中。例如,如果回文是“赛车”,我需要首先使用
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);
}
}
}
我尝试使用空格和字符串分割进行输入,但都不起作用。
您可以使用第三个变量来存储原始/修改后的字符串:
(参见
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);
}
}
}