[英]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.