直接放代码,解释看注释
编写一个方法将string转化为html,多长(length)换自己设置
/**
*莫言情难忘 1179307527
*建议将此main转为static方法,即可达到换行的目的
*其中,变量为str与length
*/
public class text {
/**
* 将string类型的文本转化为html 适用于JButton等文字自动换行
*
* @param args
*/
public static void main(String[] args) {
String str = "莫言情难忘QQ:::1179307527";// 可设置
String strhtmlbr = "<br>";
String strhtmltou = "<html>";
String strhtmlwei = "</html>";
int length = 5;//可设置
// 字符串总长度
int strlength = str.length();
int k = strlength / length;
// 一开始思路,建议先看下面注释的代码,再看修改后的
// String[] strings = new String[99];
// 初次循环取出str赋值到数组
// for (int i = 0; i < k; i++) {
// strings[i] = str.substring(i * length, i * length + length);
// }
// //连接头和第一个文本
// String strreturn = strhtmltou.concat(strings[0]);
// //for循环从1开始,依次连接
// for (int i = 1; i < k; i++) {
// strreturn = strreturn.concat(strhtmlbr + strings[i]);
// }
//最后的余出来的那部分
// if(strlength - k*length !=0)
// {
// strreturn = strreturn.concat(strhtmlbr + str.substring(k*length,strlength));
// }
// //连接html尾
// strreturn = strreturn.concat(strhtmlwei);
/**************************************************************************************************************
* 修改重点
* 此方法可以改进,改进方式如下:取消数组,两个for循环合并,并增加可能性
* ************************************************************
*/
//如果字符串太短则跳出,一般在的方法中,return后加str即可,本类为测试类
if (strlength < length) {
return;
}
String strreturn = strhtmltou.concat(str.substring(0 * length, 0 * length + length));
for (int i = 1; i < k; i++) {
strreturn = strreturn.concat(strhtmlbr + str.substring(i * length, i * length + length));
}
if (strlength - k * length != 0) {
strreturn = strreturn.concat(strhtmlbr + str.substring(k * length, strlength));
}
strreturn = strreturn.concat(strhtmlwei);
System.out.println(strreturn);
}
}
在最后附上我使用的方法: