(这里绝对是初学者)我的目标是一个表,其中一行中分隔数组中的元素用逗号分隔,并在空格(“”)后添加一个新行。
新行必须在空格之后开始(这意味着我不能用点替换它)。我认为我最大的问题是我无法将“pretty 105”(注意空格)分开。它始终算作一个元素。
现在字符串只有 8 个元素,但您必须想象字符串非常长。
首先我想分割字符串(包括“pretty 105”)
在循环中,我试图让它在“pretty”之后“跳跃”,因为它应该在这里分割
public static void main(String[] args) {
String str = "104,Jeans,B&B,pretty 105,Shoes,Nike,nice";
List<String> Row = Arrays.asList(str.split(" "));
List<String> List = Arrays.asList(str.split(","));
StringBuilder buf = new StringBuilder();
buf.append("<html>" +
"<body>" +
"<table>" +
"<tr>" +
"<th>Number</th>" +
"<th>Name</th>" +
"<th>Maker</th>" +
"<th>Description</th>" +
"</tr>");
for (int j = 0; j < Row.size(); j++) {
int i = j*4;
for (; i < List.size(); i++) {
if (i<1+i) {
buf.append("<tr><td>")
.append(List.get(i))
.append("</td>");
}
else if (i>=1+i) {
buf.append("<td>")
.append(List.get(i))
.append("</td>");
}
else if (i>3+i) {
buf.append("<td>")
.append(List.get(i))
.append("</td></tr>");
break;
}
}
}
buf.append("</table>" +
"</body>" +
"</html>");
String html = buf.toString();
System.out.println(buf);}
在此示例中,预期结果是:
编号 名称 制作者 描述
104,牛仔裤,民宿,漂亮
105,鞋子,耐克,不错
但在上面的示例中,每个人都有自己的行 - 除了“pretty 105”:
104
牛仔裤
民宿
漂亮105
。。.
这就是你想要的吗?
public class Main {
public static void main(String[] args) {
String str = "104,Jeans,B&B,pretty 105,Shoes,Nike,nice";
final String join = String.join("\n", str.split(" "));
System.out.println(join);
}
}
编辑:
public static void main(String[] args) {
String str = "104,Jeans,B&B,pretty 105,Shoes,Nike,nice";
final String[] lines = str.split(" ");
StringBuilder buf = new StringBuilder();
buf.append("<html>" + "<body>" + "<table>" + "<tr>" + "<th>Number</th>" + "<th>Name</th>" + "<th>Maker</th>" + "<th>Description</th>" + "</tr>");
for (String line : lines) {
buf.append("<tr><td>")
.append(line)
.append("</td><td>");
}
buf.append("</table>" + "</body>" + "</html>");
System.out.println(buf);
}
我是一名优秀的程序员,十分优秀!