/*
* 3、判断一个字符串是否是对称字符串,例如"abc"不是对称字符串,"aba"、"abba"、"aaa"、"mnanm"是对称字符串
*/
public class Test3 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();//输入要判断的字符串
char[] ch = str.toCharArray();//把字符串变成字符数组
// byte[] by = str.getBytes();
int k = 0, l = 0;
for (int i = 0, j = ch.length - 1; i < ch.length / 2; i++, j--) {
if (ch == ch[j]) {//比较两边字符是否相等
k++;
} else {
l++;
}
}
if (k != 0 & l == 0) {
System.out.println("是对称字符串");//输出结果
} else {
System.out.println("不是对称字符串");
}
}
} 大家看下有什么可以改进的作者: 1379号监听员 时间: 2015-11-14 21:59
单与变成双与,提提高一丢丢作者: nice非飞 时间: 2015-11-14 22:04
看看,先顶一个作者: 1379号监听员 时间: 2015-11-14 22:42 本帖最后由 1379号监听员 于 2015-11-14 22:43 编辑
刚刚结合你的代码做了一个判断数字是否对称的,其实可以修改的有两处,你自己看吧。
import java.util.Scanner;
public class Test2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一串数字");
String str = sc.next();//输入要判断的字符串
char[] ch = str.toCharArray();//把字符串变成字符数组
// byte[] by = str.getBytes();
int[] arr = new int [ch.length];
for (int i = 0; i < arr.length; i++) {
arr = Integer.parseInt(ch+"");
System.out.print(arr);
} // System.out.println(); //System.out.println(arr.length/2);
int k = 0;
for (int i = 0; i < arr.length/2; i++) {
if (arr == arr[arr.length-i-1]) {//比较两边字符是否相等
k++;
} else
break;