java中的综合症,要求用户提供不同的输入,直到他们进入stop为止,该方法应删除所有空格并使字母变成小写字母

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

公共类回文{

public static void main(String args[])
{
    String string
    String reverse = "";
    Scanner scanner = new Scanner(System.in);

    System.out.println("Enter a string:");
    string = scanner.nextLine();

    int length = string.length();

    for ( int i = length - 1; i >= 0; i-- )
        reverse = reverse + string.charAt(i);

    if (string.equals(reverse))
        System.out.println(string+" is a palindrome");
    else
        System.out.println(string+" is not a palindrome");

}

}

这是我走了多远,不确定如何继续询问用户输入,直到他们键入stop来终止程序为止。而且,在确定它是否是回文并接受句子之前,我似乎无法获得将字母转换为小写的程序。

java methods
2个回答
0
投票

请尝试使用此更改的代码版本。刚刚在while语句中添加了break块。

    public class Palindrome{

    public static void main( String args[] ){
        Scanner scanner = new Scanner( System.in );

        while (true) {
            String string = "";
            String reverse = "";

            System.out.println( "Enter a string:" );
            string = scanner.nextLine();
            if( string == null || string.trim().equals( "" ) ) break;

            int length = string.length();

            for (int i = length - 1; i >= 0; i--)
                reverse = reverse + string.charAt( i );

            if (string.equals( reverse ))
                System.out.println( string + " is a palindrome" );
            else
                System.out.println( string + " is not a palindrome" );
        }

    }
}

0
投票

要不断向用户询问新输入,只需将您的计算包装到无限循环中即可。

public static void main(String[] args) {
        String string;
        Scanner scanner = new Scanner(System.in);

        while (true) { // keep asking forever
            System.out.println("Enter a string:");
            string = scanner.nextLine();
            if (string.equals("stop")) break; // if stop entered - leave the loop
            string = string.toLowerCase().replaceAll(" ", ""); // convert string to LC and remove spaces

            if (string.equals(new StringBuilder(string).reverse().toString()))
                System.out.println(string + " is a palindrome");
            else
                System.out.println(string + " is not a palindrome");
        }
    }
© www.soinside.com 2019 - 2024. All rights reserved.