1

首先,我不是在告诉任何人“做我的功课”。我只需要一点帮助来了解如何继续重复一个过程。这是我在下面做的程序,它有一个测试器类。

班上:

class RecursivePalindrome {
    public static boolean isPal(String s)
    {
        if(s.length() == 0 || s.length() == 1)
            return true;
        if(s.charAt(0) == s.charAt(s.length()-1))
            return isPal(s.substring(1, s.length()-1));
        return false;
    }
}

然后是具有 main 方法的测试器类:

public class RecursivePalindromeTester {   
    public static void main(String[] args)
    {
        RecursivePalindrome  Pal = new RecursivePalindrome ();

        boolean quit = true;
        Scanner in = new Scanner(System.in);
        System.out.print("Enter a word to test whether it is a palindrome or not(press quit to end.): ");
        String x = in.nextLine();
        while(quit) {
            boolean itsPal = Pal.isPal(x);
            if(itsPal == true){
                System.out.println(x + " is a palindrome.");
                quit = false;
            }
            else if (x.equals("quit")) {
                quit = false;
            }
            else {
                quit = false;
                System.out.println(x + " is not a palindrome.");
            }
        }
    }
}

该程序查找字母是否为回文。我得到了所有的计算和东西,但是我该怎么做才能继续要求用户输入,并且每次用户输入它都会说它是否是回文词。

4

2 回答 2

3

只需移动要求用户输入的行并阅读它:

System.out.print("Enter a word to test whether it is a palindrome or not(press quit to end.): ");
String x = in.nextLine();

...进入你的循环,例如,就在

while (quit) {

...线。


旁注:quit对于布尔值来说,这似乎是一个奇怪的名称,当 时true,意味着你继续前进。:-)

于 2013-02-10T16:24:41.443 回答
1

只需用另一个 while 循环包装即可。

查看continuebreak语句。它们对循环非常有帮助,这就是您在此处查找的信息。公共类 RecursivePalindromeTester {

public static void main(String[] args) {
        RecursivePalindrome  Pal = new RecursivePalindrome ();

        Scanner in = new Scanner(System.in);
        while(true){
             System.out.print("Enter a word to test whether it is a palindrome or not(press quit to end.): ");
             String x = in.nextLine();
                boolean itsPal = Pal.isPal(x);
                if(itsPal == true){
                    System.out.println(x + " is a palindrome.");
                } else if (x.equals("quit")) {
                    break;
                } else {
                    System.out.println(x + " is not a palindrome.");
                }
        }
    }
}
于 2013-02-10T16:29:22.750 回答