// JUnit test class:
// https://pastebin.com/yCnsggc2
import java.util.stream.Collectors;
import java.util.stream.IntStream;
public class SquareWithDiagonalImpl {
// Hard-coded implementation:
public static void main(String[] args) {
System.out.println("00000");
System.out.println("01000");
System.out.println("00200");
System.out.println("00030");
System.out.println("00004");
}
public static void simplisticImplementation_withSeparatePrintStatements(final int size) {
for (int lineIndex = 0; lineIndex <= size; ++lineIndex) {
for (int columnIndex = 0; columnIndex <= size; ++columnIndex) {
if (lineIndex == columnIndex) {
System.out.print(lineIndex);
} else {
System.out.print("0");
}
}
System.out.println();
}
}
public static void simplisticImplementation_withTernaryOperator(final int size) {
for (int lineIndex = 0; lineIndex <= size; ++lineIndex) {
for (int columnIndex = 0; columnIndex <= size; ++columnIndex) {
System.out.print((lineIndex == columnIndex) ? lineIndex : "0");
}
System.out.println();
}
}
public static void streamImplementation(final int size) {
IntStream.rangeClosed(0, size).mapToObj((lineIndex) ->
IntStream.rangeClosed(0, size).mapToObj((columnIndex) ->
(lineIndex == columnIndex) ? String.valueOf(lineIndex) : "0"
).collect(Collectors.joining())
).forEach(System.out::println);
}
}
Comments
0 B
|👍
/👎