A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

package com.itheima;

import java.util.Scanner;

/*
* 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("不是对称字符串");
                }
        }
}
大家看下有什么可以改进的

3 个回复

倒序浏览
单与变成双与,提提高一丢丢
回复 使用道具 举报
看看,先顶一个
回复 使用道具 举报
本帖最后由 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;
                    
            }
            if (k == arr.length/2) {
                    System.out.println("是对称数字");//输出结果
            } else {
                    System.out.println("不是对称数字");
            }
    }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马