我们假设为项目编写日历。我正在使用一个数组来跟踪一个月中有多少天,并获得一个长度与数组索引值相等的数字列表。然后使用循环填充String,直到该循环等于该索引的值。初学Java - 使用子字符串()将长字符串分成单独的行
字符串被加载到我们的教授给出的文本形状中。我想显示每个由substring()生成的文本行到一个单独的行中。我试图从更高的索引开始(30,59),但它返回一个错误b/c,我的初始字符串不够长。
所以我想要做的是将长长的数字列表分成不同的行。我的一个同学说使用子串。它的确行得通,但只会给我第一行。
这是生成我的字符串的方法。
public String toString() {
monthPlusOne = month + 1;
for (int i = 0; i < monthsArray[monthPlusOne]; i++) {
String temp;
//temp = "" + i;
subLine = subLine + (i+1) + " ";
}
totalLine = subLine;
String output = monthText + " " + year + " \n "
+ "Su Mo Tu We Th Fr Sa\n" + totalLine;
return output;
}
其馈送到这个这个方法,其origanlly有与手动只是数形式砑光“\ n”个插入其中。当它发现那些 “\ n”
public static void displayCalendar() {
String s = calendar.toString().substring(30);
// extract all of the lines in s
// split s on \n
String[] lines = s.split("\n");
int index = 0;
for (String line : lines) {
t[index].setText(line);
index++;
}
}
嗨kitchen_duty ...你想要得到一个单一的字符串的子串,例如,如果你有字符串像“第一第二第三”,你想三个字符串“第一”,“第二”,“第三”....是你想要什么...我读你的问题,但无法理解它 – koool 2011-05-27 23:08:29
我知道你是一个初学者,但这个代码几乎无法理解。介意清理一下?对我来说,你让这比自己需要的要困难得多。另外,请查看String的[split](http://download.oracle.com/javase/6/docs/api/java/lang/String.html#split%28java.lang.String%29)方法。 – mre 2011-05-27 23:11:13
我建议不要在这里使用'substring'。没有它可以设计得更干净。 – 2011-05-27 23:11:30