Nig*_*erx 5 java recursion palindrome
我试图在Java中使用递归创建一个Palindrome程序,但我被卡住了,这是我到目前为止:
public static void main (String[] args){
System.out.println(isPalindrome("noon"));
System.out.println(isPalindrome("Madam I'm Adam"));
System.out.println(isPalindrome("A man, a plan, a canal, Panama"));
System.out.println(isPalindrome("A Toyota"));
System.out.println(isPalindrome("Not a Palindrome"));
System.out.println(isPalindrome("asdfghfdsa"));
}
public static boolean isPalindrome(String in){
if(in.equals(" ") || in.length() == 1 ) return true;
in= in.toUpperCase();
if(Character.isLetter(in.charAt(0))
}
public static boolean isPalindromeHelper(String in){
if(in.equals("") || in.length()==1){
return true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
谁能为我的问题提供解决方案?
Jig*_*shi 35
在这里,我为您粘贴代码:
但是,我强烈建议你知道它是如何工作的,
从你的问题来看,你完全不可读.
尝试理解此代码.阅读代码中的注释
import java.util.Scanner;
public class Palindromes
{
public static boolean isPal(String s)
{
if(s.length() == 0 || s.length() == 1)
// if length =0 OR 1 then it is
return true;
if(s.charAt(0) == s.charAt(s.length()-1))
// check for first and last char of String:
// if they are same then do the same thing for a substring
// with first and last char removed. and carry on this
// until you string completes or condition fails
return isPal(s.substring(1, s.length()-1));
// if its not the case than string is not.
return false;
}
public static void main(String[]args)
{
Scanner sc = new Scanner(System.in);
System.out.println("type a word to check if its a palindrome or not");
String x = sc.nextLine();
if(isPal(x))
System.out.println(x + " is a palindrome");
else
System.out.println(x + " is not a palindrome");
}
}
Run Code Online (Sandbox Code Playgroud)
好:
我现在不会比现在更清楚地拼出来,因为我怀疑这是作业 - 事实上有些人可能认为上面的帮助太多了(我当然对此略显犹豫).如果您对上述提示有任何问题,请更新您的问题以显示您已经有多远.
| 归档时间: |
|
| 查看次数: |
110436 次 |
| 最近记录: |