日期:2014-05-20  浏览次数:20715 次

简单判断回文的程序,其他正确,遇到死循环
public   class   Huiwen2{

        public   static   void   main(String   args[]){

        String   str=args[0];//str等于从键盘输入的字符

System.out.println( "逆置前= "+str);
              int   i=0;
              char   char1;
              char   char2;
       
while(i <str.length()/2){//字符串交换到一半时可确定是否为回文
          char1=str.charAt(i);//返回str字符串正数第个i位置的字符
          char2=str.charAt(str.length()-i-1);//返回str字符串倒数第个i位置的字符
if(char1!=char2)  
  System.out.println( "第[ "+i+ "]字符不同,不是回文 ");
else
    System.out.println( "是回文 ");
      }
  }
}
 编译:javac   Huiwen2.java 或 编译:javac   Huiwen2.java  
 运行:java   Huiwen2   121    运行:java   Huiwen2   12
 运行命令后:         运行命令后:
是回文             不是回文
是回文             不是回文
是回文             不是回文 
是回文             不是回文
 .........      .........

我只需要的是它只显示一次....

------解决方案--------------------
while(i <str.length()/2){//字符串交换到一半时可确定是否为回文
char1=str.charAt(i);//返回str字符串正数第个i位置的字符
char2=str.charAt(str.length()-i-1);//返回str字符串倒数第个i位置的字符
if(char1!=char2) {
System.out.println( "第[ "+i+ "]字符不同,不是回文 ");
break;
}
else {
System.out.println( "是回文 ");
break;
}
}

你没跳出