如何格式化字符串输出 java
How to format string output java
我已经创建了一个基本的 table 并且正在尝试将 table 中的标记格式化为在标题下。这是我拥有的:
NAME TYPE LINE#
a prod 1
这就是我想要的:
NAME TYPE LINE#
a prod 1
我知道 System.out.printf() 是格式化我的字符串的理想方式,但这不适用于我在主 class 中的代码。我创建了一个字符串数组,并使用我创建的 .toString 方法打印出来(产品 1)。这是我的代码:
for (int j = 0; j < numOfSym; j++) {
System.out.println(symbols[j].toString());
}
这是我的符号 class:
public class Symbol {
String type;
String name;
int lineNum;
// toString method
public String toString() {
return name + " " + type + " " + Integer.toString(lineNum);
}
}
String.format也不行。 printf() 会是最好的选择吗?任何帮助或 link 都会有所帮助。
喜欢?
System.out.println("NAME TYPE LINE# ");
String[][] data = {{"a", "prod", "1"}, {"b", "prod", "2"}};
for (int i = 0; i < data.length; i++) {
System.out.println(String.format("%-5s %-5s %-5s", data[i][0], data[i][1], data[i][2]));
}
或者如果您愿意(在您的 Symbol
class 内):
@Override
public String toString() {
return String.format("%-5s %-5s %-5s", type, name, lineNum);
}
我已经创建了一个基本的 table 并且正在尝试将 table 中的标记格式化为在标题下。这是我拥有的:
NAME TYPE LINE#
a prod 1
这就是我想要的:
NAME TYPE LINE#
a prod 1
我知道 System.out.printf() 是格式化我的字符串的理想方式,但这不适用于我在主 class 中的代码。我创建了一个字符串数组,并使用我创建的 .toString 方法打印出来(产品 1)。这是我的代码:
for (int j = 0; j < numOfSym; j++) {
System.out.println(symbols[j].toString());
}
这是我的符号 class:
public class Symbol {
String type;
String name;
int lineNum;
// toString method
public String toString() {
return name + " " + type + " " + Integer.toString(lineNum);
}
}
String.format也不行。 printf() 会是最好的选择吗?任何帮助或 link 都会有所帮助。
喜欢?
System.out.println("NAME TYPE LINE# ");
String[][] data = {{"a", "prod", "1"}, {"b", "prod", "2"}};
for (int i = 0; i < data.length; i++) {
System.out.println(String.format("%-5s %-5s %-5s", data[i][0], data[i][1], data[i][2]));
}
或者如果您愿意(在您的 Symbol
class 内):
@Override
public String toString() {
return String.format("%-5s %-5s %-5s", type, name, lineNum);
}