各位帮小弟个忙  写2个小程序    急用  先谢谢了  将一个长字符串分成等长的若干行输出,除最后一行外,每行内容宽度为10。注意,每个汉字占用两个英文字符的宽度,判断字符为汉字的方法是汉字的编码值大于128 

输入若干行文本,以end作为结束行,统计该文本由多少行组成,字符总数,有多少”the”,将整个文本中所有单词首字母为小写的改写为大写输出。 

解决方案 »

  1.   

    每行内容宽度为10?按照你的要求,永远做不到! 比如
    4个汉字,1个应为,4个汉字,1个英文怎么办??难道要把汉字拆开??
    如果你要求最大为10,你可以用这个方法看看!import java.util.HashSet;
    import java.util.Set;public class Test {
      public static void main(String[] args) {
        String str = "4个汉字,1个应为,4个汉字,1个英文怎么办?vlksjafl;djsalkf";
        char[] bs = str.toCharArray();
        StringBuffer buff = new StringBuffer();
        int length = 10;
        int index = 0;
        while (index < bs.length) {
          if (bs[index] < 128) {
            length--;
          } else {
            length--;
            length--;
          }
          buff.append(bs[index]);
          index++;
          if (length <= 0) {
            buff.append("\n");
            length = 10;
          }
        }
        System.out.println(buff.toString());
      }
    }
      

  2.   

    我用的方法好像有点麻烦,,,
        public static void main(String[] args) {        try {
                String str = "你我CSDN1他24587x网们心站4f怎么e2x245e24xfagg582开发";            String chinese = str.replaceAll("[\\u0000-\\u007f]", "");
                String eng = str.replaceAll("[^\\u0000-\\u007f]", "");            int chineseRowCount = chinese.length() / 5;            while (chineseRowCount > 0) {
                    System.out.println(chinese.substring(0, 5));
                    chinese = chinese.substring(5);
                    chineseRowCount--;
                }
                
                System.out.println(chinese +
                                   eng.substring(0, 10 - chinese.length() * 2));
                eng = eng.substring(10 - chinese.length() * 2);
                
                while (eng.length() > 10) {
                    System.out.println(eng.substring(0,10));
                    eng = eng.substring(10);
                }
                
                if (eng.length() > 0){
                    System.out.println(eng);
                }        } catch (Exception e) {
                // TODO: handle exception
                e.printStackTrace();
            }    }