Java处理子字符串折半并倒序输出的算法。

下面是一个Java初学算法的问题,实现方式很多,本文给出一个答案。问题如下:

   设计一类StringProcess处理从控制台中输入的字符串,编写方法process接收字符串参数,方法process根据字符串中字符的个数为奇数或偶数做如下出现,如果输入字符串长度为偶数,从中间一分为二,前后两段分别倒序输出,例如输入12346790,输出两行数据分别为4321和0976;如果输入字符串长度为奇数,从中间一分为二,前后两段都包括最中间的字符,例如输入123456789,输出两行数据分别为54321和98765。

思路:

   考虑如何折半(技术/偶数)

  如何倒序。

public class MyFirstAnswer {
    /**
     *
     * @param args
     */
    public static void main(String[] args) {
        System.out.println("请输入字符串:");
        Scanner scanner = new Scanner(System.in);
        String next = scanner.next();
        StringProcess.process(next);
    }
}

/**
 *
 */
class StringProcess{
    /**
     *
     * @param str
     */
    static  void process(String str){

        String str1="";
        String str2="";
        // 字符串截取
        if (str.length() % 2 == 0){
            str1 =  str.substring(0,str.length()/2);
            str2 =  str.substring(str.length()/2,str.length());

        } else{
            str1 =  str.substring(0,str.length()/2 + 1);
            str2 =  str.substring(str.length()/2,str.length());
        }
        char[] chars = str1.toCharArray();
        System.out.println("前半段是:");
        /**
         * 这里可以使用StringBuffer 或StringBuilder
         */
        for (int i = str1.length()-1; i >=0 ; i--) {
            System.out.print(chars[i]);
        }

        System.out.println("后半段是:");
        /**
         * 这里可以使用StringBuffer 或StringBuilder
         */
        chars = str2.toCharArray();
        for (int i = str2.length()-1; i >=0 ; i--) {
            System.out.print(chars[i]);
        }

    }
}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值