简体   繁体   English

回文字符串VarArgs-Java(无数组,仅VarArgs)

[英]Palindrome String VarArgs - Java (No Array just VarArgs)

I am a student trying to get this palindrome checker to reflect back if the entered strings are indeed a palindrome or not. 我是一名学生,试图让此回文检查器对输入的字符串确实是回文进行反思。 I keep returning just one result and I cannot figure out why. 我一直只返回一个结果,但我不知道为什么。 Not sure if I am missing something from my loop or if I have something incorrect in my loop here. 不知道我的循环中是否缺少某些东西,或者我的循环中是否有不正确的东西。

public  class Palindrome {

    public static void main(String[] args) {

        System.out.println("Palindrome Checker:  ");
        palindromChecker("aabaa", "cat", "racecar", "dog", "Madam");
    }

    public static void palindromChecker(String... values) {
        String stbr = "";
        String reverse = " ";

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

        if (reverse.equalsIgnoreCase(stbr))
            System.out.println("This is a Palindrome");
        else {
            System.out.println("This is NOT a Palindrome");
        }
    }

}

You aren't actually looping through the input values from your array values . 您实际上并没有遍历数组values的输入values What you are doing is trying to reverse stbr which you assigned to be an empty String. 您正在做的是尝试反向分配给您的stbr为空字符串。 You want to do something like this: 您想做这样的事情:

public class Palindrome {

    public static void main(String[] args) {

        System.out.println("Palindrome Checker:  ");
        palindromChecker("aabaa", "cat", "racecar", "dog", "Madam");
    }

    public static void palindromChecker(String... values) {
        for (String stbr : values) {
            String reverse = "";
            for (int i = stbr.length() - 1; i >= 0; i--) {
                reverse += stbr.charAt(i);
            }
            if (reverse.equalsIgnoreCase(stbr)) {
                System.out.println("This is a Palindrome");
            } else {
                System.out.println("This is NOT a Palindrome");
            }
        }

    }
}

for (String stbr : values) { loops through every element in values one at a time, allowing you to reverse and check each element of your input. for (String stbr : values) {通过在每一个元素循环values一次一个,让你扭转并检查您输入的每个元素。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM