若想要输入多组数据,可添加一个while循环
import java.util.Scanner;
public class sixteen {
public static void main(String[] args) {
//对称字符串
//键盘接受一个字符串,程序判断该字符串是否是对称字符穿,并从控制台打印是或不是
//对称字符串:123321、111
//非对称字符串:123123
Scanner sc = new Scanner(System.in);
System.out.println("输入要判断的字符:");
String str = sc.next();
//先用StringBuilding()做容器,再用append()函数将str存入,通过reverse()函数进行翻转,再将容器的内容转换成String类型,将结果存入result中
String result = new StringBuilder().append(str).reverse().toString();
if (str.equals(result)) {//将原数与反转后的数对比,若相等的、则是对称数,反之则不是
System.out.println("对称数");
} else {
System.out.println("非对称数");
}
//第二种方法:(下面的方法/可移到main中做一个新程序)
Judge(str);
}
static void Judge(String str) {
boolean flag = true;//设标志位
for (int i = 0; i < str.length(); i++) {//对string中的每个字符进行遍历
char ch = str.charAt(i);//取String中的第i个字符
char ar = str.charAt(str.length() - 1 - i);//取String中与i位置相对应的字符
if (ch != ar) {
flag = false;//如果两者不相等,置标志位为false
}
}
if (flag) {//判断flag的值
System.out.println("对称数");
} else {
System.out.println("非对称数");
}
}
}
输入要判断的字符:
1234321
对称数
对称数