首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

一个比较难的有关问题,字符串处理

2012-02-27 
一个比较难的问题,字符串处理我一串天天气预报,我在处理后,每行显示相同长度的文字,但是里面有数字和符号,

一个比较难的问题,字符串处理
我一串天天气预报,我在处理后,每行显示相同长度的文字,但是里面有数字和符号,这样就显得每一行对不齐,有什么办法让他们对齐呢

String htmlCode="晴间少云,20℃~29℃,东北风2-3级,相对湿度最大70%,最小38%,火灾危险信号为红色"; 

int len=htmlCode.length();

for(int i=0;i<len;i++){
if ((i%8==0)&&(i!=0)){
  str.append(htmlCode.charAt(i)+"</br>");
}else{
  str.append(htmlCode.charAt(i));
}

[解决办法]
没有看明白,lz什么意思啊。

[解决办法]
用System.out.printf()或System.out.format()
[解决办法]
不知道这个方法可不可以,因为中文字是全角的,而LZ句子中的符号是半角的,所以会有宽度不同,
我的方法是把半角的符号都替换成全角的符号
[解决办法]
因为这里面有全角字符和半角字符,并不能这样添加,在 Java 中全角和半角字符都算作一个字。
参考以下的代码。如果要在页面上对齐的话,字体最好使用宋体。

如果要避免在行首出现标点符号的话,可以自行改进一下。

Java code
public class Test {    public static void main(String[] args) {        String str = "晴间少云,20℃~29℃,东北风2-3级,相对湿度最大70%,最小38%,火灾危险信号为红色";        System.out.println(separate(str, 20));    }    public static String separate(String input, int len) {        StringBuffer sb = new StringBuffer(len);        int count = 0;        char[] chars = input.toCharArray();        for (int i = 0; i < chars.length; i++) {            char c = chars[i];            sb.append(c);            count = (c <= 0xff) ? count + 1 : count + 2;            if (count >= len) {                sb.append("<br/>");                count = 0;            }        }        return sb.toString();    }}
[解决办法]
学习。

热点排行