问题描述
我想将吉他指法表显示为字符串,但是将制表符显示为字符串时遇到问题。 想要的样子:
--------
--------
--------
--------
--------
3-1-2--3
我得到的是:
-
-
-
-
-
3-
-
-
-
-
1-
把每一列想象成一个片段。当我浏览片段时,我为每个片段添加了一个新列,但是我无法向字符串添加新列,它只会转到新行。有没有人有更好的想法来解决这个问题,或者解决这个打印问题? 预先感谢您的时间和精力!
解决方法
谢谢大家的回复,我成功了,如VM所说。我先准备好每一行,然后一次打印,效果很赞。
public static String parseSongToTab() {
StringBuilder stringBuilder = new StringBuilder();
for (Fragment fragment : loadedSong.getFragments()) {
GuitarString gs = GuitarString.valueOf(fragment.getString().toUpperCase());
createTabColumn(gs,fragment.getFret());
}
stringBuilder.append(stringBuilderHighE).append("\n")
.append(stringBuilderB).append("\n")
.append(stringBuilderG).append("\n")
.append(stringBuilderD).append("\n")
.append(stringBuilderA).append("\n")
.append(stringBuilderLowE);
return stringBuilder.toString();
} 创建标签:
private static void createTabColumn(GuitarString guitarString,Integer fret) {
switch (guitarString) {
case LOW_E:
stringBuilderLowE.append(fret);
stringBuilderA.append("-");
stringBuilderD.append("-");
stringBuilderG.append("-");
stringBuilderB.append("-");
stringBuilderHighE.append("-");
addSpaceForEverySecond();
break;
case A:
stringBuilderLowE.append("-");
stringBuilderA.append(fret);
stringBuilderD.append("-");
stringBuilderG.append("-");
stringBuilderB.append("-");
stringBuilderHighE.append("-");
addSpaceForEverySecond();
break;
case D:
stringBuilderLowE.append("-");
stringBuilderA.append("-");
stringBuilderD.append(fret);
stringBuilderG.append("-");
stringBuilderB.append("-");
stringBuilderHighE.append("-");
addSpaceForEverySecond();
break;
case G:
stringBuilderLowE.append("-");
stringBuilderA.append("-");
stringBuilderD.append("-");
stringBuilderG.append(fret);
stringBuilderB.append("-");
stringBuilderHighE.append("-");
addSpaceForEverySecond();
break;
case B:
stringBuilderLowE.append("-");
stringBuilderA.append("-");
stringBuilderD.append("-");
stringBuilderG.append("-");
stringBuilderB.append(fret);
stringBuilderHighE.append("-");
addSpaceForEverySecond();
break;
case HIGH_E:
stringBuilderLowE.append("-");
stringBuilderA.append("-");
stringBuilderD.append("-");
stringBuilderG.append("-");
stringBuilderB.append("-");
stringBuilderHighE.append(fret);
addSpaceForEverySecond();
break;
default:
stringBuilderLowE.append("-");
stringBuilderA.append("-");
stringBuilderD.append("-");
stringBuilderG.append("-");
stringBuilderB.append("-");
stringBuilderHighE.append("-");
addSpaceForEverySecond();
break;
}
}