Fixed: Order toString

This commit is contained in:
rubenpirreram
2026-04-26 18:53:12 +02:00
parent c0fb4b0cef
commit 698d1c9e48
5 changed files with 30 additions and 10 deletions
@@ -43,8 +43,28 @@ public class AsciiTable {
return sb.append(r).toString();
}
private String rpad(String s, int w) {
private static String rpad(String s, int w) {
if (s.length() >= w) return s.substring(0, w);
return s + " ".repeat(w - s.length()) + "\t";
return s + " ".repeat(w - s.length());
}
public static String sideBySide(List<String> left, List<String> right, int gap) {
int leftWidth = left.stream().mapToInt(String::length).max().orElse(0);
int maxHeight = Math.max(left.size(), right.size());
String padding = " ".repeat(gap);
var sb = new StringBuilder();
for (int i = 0; i < maxHeight; i++) {
String l = i < left.size()
? left.get(i)
: " ".repeat(leftWidth);
// padda la riga sinistra se è più corta delle altre
l = rpad(l, leftWidth);
String r = i < right.size() ? right.get(i) : "";
sb.append(l).append(padding).append(r).append('\n');
}
return sb.toString();
}
}