for循环中的内容不执行

pureZer 2017-09-22 07:11:32
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
int n=input.nextInt();//表示测试实例的个数
for(int j=0;j<n;j++) {
String a=input.nextLine();//输入的字符串
char[] array=a.toCharArray();//将字符串转化为字符数组
int sum=0;

for(int i=0;i<array.length/2;i++) {
if(array[i]!=array[array.length-1-i]) {
sum++;//如果开头的字符不等于末尾的字符,sum+1
}
}

if(sum==0) {
System.out.println("yes");//如果sum=0则是回文串
}
else {
System.out.println("no");
}
}
}
}


给n赋值之后,直接跳到最后的输出语句,输出“yes”,请问中间的语句块为什么不执行
...全文
852 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
偏安zzcoder 2017-09-23
  • 打赏
  • 举报
回复
引用 3 楼 vssandv 的回复:
String a=input.nextLine();//输入的字符串 nextLine()方法换为next()方法 原因是 next() 方法遇见第一个有效字符(非空格,非换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,即获得第一个扫描到的不含空格、换行符的单个字符串。 使用nextLine()时,则可以扫描到一行内容并作为一个字符串而被获取到。 所以nextLine()方法扫描到了你第一个输入后的回车...
正解
vssandv 2017-09-23
  • 打赏
  • 举报
回复
String a=input.nextLine();//输入的字符串 nextLine()方法换为next()方法 原因是 next() 方法遇见第一个有效字符(非空格,非换行符)时,开始扫描,当遇见第一个分隔符或结束符(空格或换行符)时,结束扫描,获取扫描到的内容,即获得第一个扫描到的不含空格、换行符的单个字符串。 使用nextLine()时,则可以扫描到一行内容并作为一个字符串而被获取到。 所以nextLine()方法扫描到了你第一个输入后的回车...
pureZer 2017-09-23
  • 打赏
  • 举报
回复
引用 1 楼 scqlmm 的回复:
debug你的代码,肯定没有进入sum++的那个if判断
我把外面那个for去掉,是正常的
枫醉秋 2017-09-22
  • 打赏
  • 举报
回复
debug你的代码,肯定没有进入sum++的那个if判断

50,535

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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