gpt4 book ai didi

Java算法回文&

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:47:21 26 4
gpt4 key购买 nike

/**
* @(#)palindrome1.java
*
* palindrome1 application
*
* @author
* @version 1.00 2013/11/15
*/

public class palindrome1 {

static boolean isPalindrome(String str) {
int count=0;
//check all characters of sequence is palindrome
for(int i = 0; i < str.length();i++)
{
if(str.charAt(i)!=str.charAt(str.length()-1-i))
{
return false;
}
}
//if it is return true otherwise return false
return true;
}

public static void main(String[] args) {

// TODO, add your application code
String sentence= "bob gave that pop race car to me." ;
String sentenceMax="";
String sentenceNew="";

sentence = sentence.replace( " ","");
for(int i = 0;i<sentence.length();i++)
{
for(int k=0;k<i;k++)
{
sentenceNew = sentence.substring(k,i);
if(isPalindrome(sentenceNew)&&sentenceNew.length()>sentenceMax.length());
{

sentenceMax=sentenceNew;
sentenceNew="";
}
}
}
System.out.println(sentenceMax);
}
}

问题是:t 应该向用户询问一个句子,并在忽略句子中的空格的情况下找到句子中最长的回文子串并打印最长的回文子串。您必须使用您在 B 部分中编写的函数。句子必须不区分大小写。B 部分是 mycode 中第一个名为 isPalindrome() 的方法。输出应该是:

racecar

但我的代码输出:

e

我的代码有什么问题?

最佳答案

你的代码中有:

if(isPalindrome(sentenceNew)&&sentenceNew.length()>sentenceMax.length());

; 是在不好的地方。因为它在那里,所以将其视为带有空 block 的 if,因此您的真实 block {} 一直在计算。

应该是:

if(isPalindrome(sentenceNew)&&sentenceNew.length()>sentenceMax.length())

关于Java算法回文&,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19990796/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com