简单判断回文的程序,其他正确,遇到死循环
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;
}
}
你没跳出