ACM提交题目时老报Runtime Error,可不知道错在了哪里

今天在做一道回文串问题时,自己测试没问题,可是提交老报RuntimeError,不知道错在了哪里,希望大家可以帮我,谢谢!!!问题如下:Description回文字符串是... 今天在做一道回文串问题时,自己测试没问题,可是提交老报Runtime Error,不知道错在了哪里,希望大家可以帮我,谢谢!!!
问题如下:
Description
回文字符串是一种字符串,正读和反读该字符串都会得到同样的拼写。例如“radar”、“ablewasiereisawelba”和 “amanaplanacanalpanama”都是回文。编写一个递归函数testPalindrome,如果数组中储存的字符串是回文,则返回 true,否则,返回false。字符串中只包含26个小写字母和10个数字字符。

Input
第一行包含一个整数T,表示有T组数据。以下T行每行包含一个字符串(小于50个字符),表示T个字符串。

Output
对于每组数据,如果其为回文,这返回true,否则返回false。
我写的代码如下:
package com.acm.competition;

import java.util.Scanner;

public class Main
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);

while(in.hasNext())
{
int number = in.nextInt();
while(number!=0)
{
number--;
String str = in.next();
System.out.println(pn(str));
}
}
}

public static boolean pn(String str)
{
boolean b = false;
String ss = str.substring(0,str.length()/2);
String sss = str.substring(str.length()/2,str.length());
for(int i=0;i<ss.length();i++)
{
if(ss.substring(i, i+1).equals(sss.substring(sss.length()-i-1,sss.length()-i)))
{
b = true;
}
else
{
b = false;
break;
}
}
return b;

}
}
展开
 我来答
阳光的雷咩咩
2018-07-05 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7923万
展开全部

一般要在本地测试。多想几种测试用例,比如

  • 空字符串

  • 1位

  • 2位

  • 3位

  • 48位字母数字混合

  • 49位字母数字混合

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式