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

今天在做一道回文串问题时,自己测试没问题,可是提交老报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;

}
}

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

    空字符串

    1位

    2位

    3位

    48位字母数字混合

    49位字母数字混合

温馨提示:内容为网友见解,仅供参考
无其他回答

Acm题目 在本地编译运行都通过 提交后一直提示Runtime error_百度...
Runtime error 是指内存泄漏等问题。有可能是:你的代码里面有lpRect=(char**)malloc(rect_y*sizeof(char*)); 这个东西。这里的rect_y如果太大,就有问题了。把指针放外面试试

acm中runtime error什么意思
runtime error (运行时错误)就是程序运行到一半,程序就崩溃了。比如说:①除以零 ②数组越界:int a[3]; a[10000000]=10;③指针越界:int * p; p=(int *)malloc(5 * sizeof(int)); *(p+1000000)=10;④使用已经释放的空间:int * p; p=(int *)malloc(5 * sizeof(int));free...

acm出来运行错误要怎么改(反序数出的题)先输入n代表总个数后输入n个...
实现有点复杂,但是看不出来有错,如果是报“runtime error”,有可能是越界了,数组开的大一点。ps:倒序输出只要把数字保存起来,输出时循环由大到小即可,如下:for(int a = (this->len) -1; i >= 0; i--)cout << this->data[i];...

ACM 提交的时候老是runtime error
这里的话当k=0的时候也,就是说m1,m2之间没有数字是素数的情况下,你会错误。还有,题目说是m1,m2之间的,如果m1大于m2的话要换一下

ACM,runtime error
3种可能 1.数组可能小了2.2.那个输出应该是printf("%d\\n",max);3.return 0(我一般都这么写...不过有次用return 1; 也过了)

杭电acm总是Runtime Error (ACCESS_VIOLATION)
runtime error (运行时错误)就是程序运行到一半,程序就崩溃了。比如说:除以零 数组越界:int a[3]; a[10000000]=10 指针越界:int * p; p=(int *)malloc(5 * sizeof(int)); *(p+1000000)=10 使用已经释放的空间:int * p; p=(int *)malloc(5 * sizeof(int));free(p); ...

杭电acm 1003题,为什么总是提示Runtime Error(ACCESS_VIOLATION),我测试...
Runtime Error一般是数组越界, 可能你数组定义小了

北大acm poj2714 程序运行 runtimeerror 一般 程序runtime error 有...
我觉得楼主需要补全数据规模什么的,Runtime Error 一般来说是数组越界或者函数堆栈溢出,超过规定的时间是TL不是RE,RE一般是访问越界...

Runtime Error (ACCESS_VIOLATION) 到底出错在哪里呢?在线等,acm 提交...
!= EOF) \/\/ctrl + z 表示结束, acm题没说怎么结束用这个。这道题你做的有点麻烦啊,输出的时候这样就可以:num = 0;index = m;whiel(num < n){ if(index != m)printf(" %d", a[index++]);else printf("%d", a[index++]);num++;index = index %n;} printf("\\n");

acm出来运行错误要怎么改(反序数出的题)先输入n代表总个数后输入n个...
实现有点复杂,但是看不出来有错,如果是报“runtime error”,有可能是越界了,数组开的大一点。ps:倒序输出只要把数字保存起来,输出时循环由大到小即可,如下:for(int a = (this->len) -1; i >= 0; i--)cout << this->data[i];...

相似回答