From 73f3f08b5da9ba9deb580fc8d24e628fdb7ac149 Mon Sep 17 00:00:00 2001 From: L3o15 Date: Thu, 15 May 2025 11:42:34 +0200 Subject: [PATCH] Graph graphic presentation --- src/ElementGraph.java | 34 ++++++++++++++++++++++++++-------- 1 file changed, 26 insertions(+), 8 deletions(-) diff --git a/src/ElementGraph.java b/src/ElementGraph.java index b7f7d45..f5edef9 100644 --- a/src/ElementGraph.java +++ b/src/ElementGraph.java @@ -27,18 +27,36 @@ public class ElementGraph { } public void printGraph() { - for (GraphElement from : elements) { - Element fromElement = from.getElement(); - System.out.println("[" + fromElement + "] →"); - - for (ElementLink link : from.getLinks()) { - Element toElement = link.getElement(); - int value = link.getValue(); - System.out.printf(" -> %s : %d\n", toElement, value); + System.out.println("From element is the row name, to element is the column name"); + List elements = getElementsNames(); // lista ordinata degli elementi + int maxNameLen = 0; + for (Element element : elements) { + if (element.name().length() > maxNameLen) { + maxNameLen = element.name().length(); } + } + maxNameLen = maxNameLen + 2; + + // Stampa intestazione colonna + System.out.print(String.format("%" + maxNameLen + "s", "")); + for (Element to : elements) { + System.out.print(String.format("%" + maxNameLen + "s", to)); + } + System.out.println(); + System.out.println("-".repeat(10 + maxNameLen * elements.size())); + + // Stampa ogni riga + for (Element from : elements) { + System.out.print(String.format("%" + maxNameLen + "s", from)); + for (Element to : elements) { + int value = getInteractionBetween(from, to); + System.out.print(String.format("%" + maxNameLen + "s", value)); + } System.out.println(); } + + } public int getTotalStrength(){