Java 如何比较反向输入和原始输入?
我正在试着调试我的程序,这样它就可以把句子作为可能的回文。现在它只告诉我一个单词的倒序是回文,但它总是告诉我一个句子不是回文,即使它是 我曾尝试将original.equals(reverse)更改为reverse.equals(original),但仍然得到相同的输出Java 如何比较反向输入和原始输入?,java,Java,我正在试着调试我的程序,这样它就可以把句子作为可能的回文。现在它只告诉我一个单词的倒序是回文,但它总是告诉我一个句子不是回文,即使它是 我曾尝试将original.equals(reverse)更改为reverse.equals(original),但仍然得到相同的输出 import java.util.Scanner; public class WordPlay { public static void main(String [] args) { // Variable d
import java.util.Scanner;
public class WordPlay {
public static void main(String [] args) {
// Variable declarations
String original, reverse = "";
boolean lipE = true;
boolean lipS = true;
boolean palindrome = true;
boolean alliteration = true;
// Scanner object
Scanner input = new Scanner(System.in);
System.out.print("Please enter a sentence: ");
original = input.nextLine();
original = original.toLowerCase();
System.out.println("The input that you entered was: " + original);
// Determine whether a input is a lipogram
for(int i = 0; i < original.length(); i++)
if(original.charAt(i) == 'e' || original.charAt(i) == 'E' )
lipE = false;
if(lipE) {
System.out.println("The input is a lipogram. ");
}
else {
System.out.println("The input is not a lipogram avoiding the
letter E.");
}
// Determine whether a input is a lipogram
for(int i = 0; i < original.length(); i++)
if(original.charAt(i) == 's' || original.charAt(i) == 'S' )
lipS = false;
if(lipS) {
System.out.println("The input is a lipogram. ");
}
else {
System.out.println("The input is not a lipogram avoiding the letter S.");
}
// Determine whether or not an input is a palindrome.
// Compare the original input to the reversed input.
double length = original.length();
for (int i = original.length() - 1; i >= 0; i--)
reverse = reverse + original.charAt(i);
if (original.equals(reverse))
System.out.println("The input is a palindrome.");
else
System.out.println("The input isn't a palindrome.");
import java.util.Scanner;
公共课堂文字游戏{
公共静态void main(字符串[]args){
//变量声明
字符串原件,反面为“”;
布尔lipE=true;
布尔唇=真;
布尔回文=真;
布尔头韵=真;
//扫描对象
扫描仪输入=新扫描仪(System.in);
系统输出打印(“请输入句子:”);
original=input.nextLine();
original=original.toLowerCase();
System.out.println(“您输入的输入是:“+原件”);
//确定输入是否为脂肪图
对于(int i=0;i=0;i--)
反向=反向+原始字符(i);
如果(原始等于(反向))
System.out.println(“输入是回文。”);
其他的
System.out.println(“输入不是回文。”);
预期的结果是,程序将识别出当一个句子被翻转并等于相同的东西时,它将打印“输入是回文”您的输入字符串是什么?输入字符串是用户输入的任何内容,输入的变量是原始的。只需发布一个输入,我们就可以了解您认为程序没有按预期方式运行的原因。否则,问题是Unclerarit确实不是回文,您忽略了空格。反之亦然
ris-etov-ot-esir
不等于rise-to-vote-sir
您应该首先删除空格:original=original.toLowerCase().replace(“,”);