两个小程序

一  编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串,要保证汉字不被截取半个,

  如“我ABC”,4 ,应该截取"我AB",输入"我ABC汉DEF",6,应该输出"我ABC",而不是“我ABC+汉字的半个”。

    public static void main(String[] args) {
      String str = "我ABC汉";
      int num = trim(str.getBytes(),6);
      System.out.println(num);
      System.out.println(str.substring(0,num));
    }

    public static int trim(byte[] buf ,int n) {
      int num = 0;
      boolean ifChineseHalf = false;
      for(int i = 0;i < n;i++) {
        if(buf[i] < 0&&!ifChineseHalf) {
          ifChineseHalf = true;
        }else {
          num++;
          ifChineseHalf = false;
        }
      }
      return num;
    }

二  一个整数,大于0,不用循环和本地变量,按照n,2n,4n,8n顺序递增,当值大于5000时,把值按照顺序打印出来,

    例如: n =1237 ,输出为1237,2474,4948,9896,9896,4948,2474,1237

   public static void doubleNum(int n) {

    System.out.println(n);
    if(n <= 5000)
    doubleNum(n*2);
    System.out.println(n);
   }

  

    

posted @ 2017-09-28 16:20  执着的蚂蚁  阅读(273)  评论(0编辑  收藏  举报