String 回文串的问题

SHANLIANG001 2008-04-27 06:18:12
import javax.swing.JOptionPane;
public class Chek1{
public static void main(String[] arsg){
String s=JOptionPane.showInputDialog(null,"Enter a string:","Example 7.1 Input",JOptionPane.QUESTION_MESSAGE);
String output=" ";

if (rererse(s)==s)
output=s+" is a palindrome";
else
output=s+" is not a palindrome";
JOptionPane.showMessageDialog(null,output,"Example 7.1 Input",JOptionPane.QUESTION_MESSAGE);
}
public static String rererse(String s)
{
int low=0;
int high=s.length()-1;
String t="";

while(low<=high){
t+=s.substring(high,high);

high--;
}
return t;
}
}
...全文
105 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
SHANLIANG001 2008-05-04
  • 打赏
  • 举报
回复
呵呵,谢谢了.
云上飞翔 2008-04-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 SHANLIANG001 的回复:]
rererse方法要求必须返回String的,不能返回布尔值。而且这个方法体我搞太差劲。。。。不明白该怎么写方法了
[/Quote]
答:

public static String rererse(String s)
{
char[] ch=s.toCharArray();
int low=0;
int high=s.length()-1;
char t;
while(low <high){
t=ch[low];
ch[low]=ch[high];
ch[high]=t;
low++;
high--;
}//while
return String.valueOf(ch);
}

另外:将:if (rererse(s)==s)
改为:if(rererse(s).equals(s))

以上仅供你参考
SHANLIANG001 2008-04-28
  • 打赏
  • 举报
回复
rererse方法要求必须返回String的,不能返回布尔值。而且这个方法体我搞太差劲。。。。不明白该怎么写方法了
云上飞翔 2008-04-27
  • 打赏
  • 举报
回复
答:

public static boolean isPalindrome(String s)
{
int i=0,j=s.length()-1;
while(i<j)
{
if(s.charAt(i)!=s.charAt(j))
{
return false;
}
i++;j--;

}
return true;
}
浪荡的码农 2008-04-27
  • 打赏
  • 举报
回复
string 的比较用compare, 不要使 ==

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧