에게 당신이
// Get the maximum length of any string in the array, or 0.
private static int getMaxLength(String[] in) {
int c = 0;
if (in != null && in.length > 0) {
for (String i : in) {
i = (i != null) ? i.trim() : "";
if (i.length() > c) {
c = i.length();
}
}
}
return c;
}
// Pad any input string to the minimum length.
private static String padString(String in, int min) {
in = (in != null) ? in.trim() : "";
StringBuilder sb = new StringBuilder(in);
while (sb.length() < min) {
sb.append(' ');
}
return sb.toString();
}
private static void makeFile(String[] name,
String[] nickname, String[] capital,
String[] flowers, String[] population) {
PrintWriter out = null;
try {
out = new PrintWriter("out.txt");
// Add 1 to get at least 1 space between the maximum and the next item.
int namePadded = getMaxLength(name) + 1;
int nickPadded = getMaxLength(nickname) + 1;
int capitalPadded = getMaxLength(capital) + 1;
int flowersPadded = getMaxLength(flowers) + 1;
int populationPadded = getMaxLength(population);
for (int i = 0; i < name.length; i++) {
out.println(padString(name[i], namePadded)
+ padString((nickname.length > i) ? nickname[i]
: "", nickPadded)
+ padString((capital.length > i) ? capital[i] : "",
capitalPadded)
+ padString((flowers.length > i) ? flowers[i] : "",
flowersPadded)
+ padString((population.length > i) ? population[i]
: "", populationPadded));
}
} catch (FileNotFoundException fnfe) {
fnfe.printStackTrace(System.err);
} finally {
out.close();
}
}
public static void main(String[] args) {
String[] name = { "Alabama", "Alaska", "Arizona" };
String[] nickname = { "Yellowhammer State",
"Last Frontier", "Grand Canyon State" };
String[] capital = {
"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "Y", "Z" };
String[] flowers = { "Rose", "Carnation", "Orchid" };
String[] population = { "1", "100", "1000" };
makeFile(name, nickname, capital, flowers,
population);
}
같은 것을 할 수있는, 난 당신이 첫 번째 열에서 허용되는 고정 된 값의 길이를 사용하는 것이 좋습니다 50, 60, 각 반복에 대해, 사이의 공간을 계산 말할 것 그 (것)들은 이름의 50 길이로 –
어떻게 동일한 방법으로 배열 될 첫번째 2 후에 연속적인 란을 추가 하는가 ?? – dondon4720