各位帮小弟个忙 写2个小程序 急用 先谢谢了 将一个长字符串分成等长的若干行输出,除最后一行外,每行内容宽度为10。注意,每个汉字占用两个英文字符的宽度,判断字符为汉字的方法是汉字的编码值大于128
\
输入若干行文本,以end作为结束行,统计该文本由多少行组成,字符总数,有多少”the”,将整个文本中所有单词首字母为小写的改写为大写输出。
\
输入若干行文本,以end作为结束行,统计该文本由多少行组成,字符总数,有多少”the”,将整个文本中所有单词首字母为小写的改写为大写输出。
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());
}
}
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();
} }