[Java] Mehrdimensionale Array- / Tabellenberechnung ausgeben (AOJ⑥-Tabellenberechnung)

StringBuilder gibt eine Zeichenfolgendarstellung zurück

StringBuilder sb = new StringBuilder();
System.out.println(sb);
StringBuilder sb = new StringBuilder();
String result = sb.toString();//OK
String result = sb;  //Kompilierungsfehler(Anderer Typ)
Referenz

Mehrdimensionales Array ausgeben

import java.util.*;
import java.util.Arrays;
public class Main {
    public static void main(String[] args) throws Exception {
		//1-dimensionales Array
		int[] nums = new int[] { 1, 2, 3 };
		System.out.println(nums);//[I@36baf30c
		System.out.println(Arrays.toString(nums));// [1, 2, 3]
		//Mehrdimensionales Array
		int[][] nums2 = new int[][] { { 1, 2, 3 }, { 11, 12, 13 } };
		System.out.println(nums2);// [[I@7a81197d
		System.out.println(Arrays.toString(nums2));// [[I@5ca881b5, [I@24d46ca6]

		System.out.println(Arrays.deepToString(nums2));// [[1, 2, 3], [11, 12, 13]]
	}
}

Tabellenberechnung (ITP1-7)

Erstellen Sie ein einfaches Programm zur Durchführung von Tabellenberechnungen. Erstellen Sie ein Programm, das eine Tabelle mit Elementen mit der Anzahl der Zeilen r und der Anzahl der Spalten c und r × c liest und eine neue Tabelle mit der Summe jeder eingefügten Zeile und Spalte ausgibt. 【Input】 Die erste Zeile ist durch Leerzeichen getrennt r und c angegeben. Jede folgende r-Zeile erhält c Ganzzahlen, die durch Leerzeichen getrennt sind. 【Output】 Geben Sie eine neue Tabelle von (r + 1) × (c + 1) aus. Trennen Sie benachbarte Ganzzahlen in jeder Zeile mit einem Leerzeichen. Fügen Sie den Gesamtwert dieser Zeile als letzte Spalte jeder Zeile, den Gesamtwert dieser Spalte als letzte Zeile jeder Spalte und den Gesamtwert der gesamten Tabelle in der letzten Zeile / Spalte ein. 【Constraints】

import java.util.Scanner;
import java.util.Arrays;
class Main {
	Scanner sc = new Scanner(System.in);

	public void run() {
		int r = sc.nextInt(), c = sc.nextInt();

		int[][] A = new int[r + 1][c + 1];

        //Scannen Sie eine Tabelle mit den Elementen r x c
		for (int i = 0; i < r; i++)
			for (int j = 0; j < c; j++) {
				A[i][j] = sc.nextInt();
			}
        //Berechnen Sie die Summe für jede Spalte und ordnen Sie sie der Spalte c zu
		for (int i = 0; i < r; i++) {
			int sum = 0;
			for (int j = 0; j < c; j++) {
				sum += A[i][j];
			}
			A[i][c] = sum;
		}
		//Berechnen Sie die Summe für jede Zeile und ordnen Sie sie der Spalte c zu
		for (int j = 0; j <= c; j++) {
			int sum = 0;
			for (int i = 0; i < r; i++) {
				sum += A[i][j];
			}
			A[r][j] = sum;
		}
		//Überprüfen Sie den Inhalt
        //System.out.println(Arrays.deepToString(A));
		
        //Schließen Sie sich jeweils einer Reihe an
		for (int i = 0; i <= r; i++)
			ln(join(A[i], " "));
	}

	public static void main(String[] args) {
		new Main().run();
	}

	public static void ln(Object o) {
		System.out.println(o);
	}

    //Erstellen Sie eine Zeichenfolge, die von StringBuilder ausgegeben werden soll
	public static String join(int[] array, String separator) {
	    //Das erste Zeichen aus der 1. Zeile und 1. Spalte (Array)[0]) Erhalten
		StringBuilder str = new StringBuilder(array[0] + ""); 

        //Geben Sie das letzte Leerzeichen nicht aus, indem Sie vom zweiten Zeichen abweichen
		for (int i = 1; i < array.length; i++) {
			str.append(separator).append(array[i] + "");
		}
		return str.toString();
        
        //Kompilierungsfehler, sofern nicht mit toString in String konvertiert
        //return str; 
        //incompatible types: StringBuilder cannot be converted to String
	}
}

Recommended Posts

[Java] Mehrdimensionale Array- / Tabellenberechnung ausgeben (AOJ⑥-Tabellenberechnung)
[Java] Berechnung des mehrdimensionalen Arrays / inneren Produkts (AOJ⑦ inneres Produkt)
[Java] -Array
Java-Array
Java-Array
Java (Array)
Java-Array
Java-Array
Java-Array
[Java] Array
[Java-Anfänger] Informationen zur Initialisierung eines mehrdimensionalen Arrays
[Java] Ausgabe, Variablen
Java-Array-Variable
[Java] Array-Hinweis
Informationen zur Java-Protokollausgabe
Geben Sie den Maximalwert eines Arrays mithilfe der Java-Standardausgabe aus
Java-formatierte Ausgabe [Hinweis]
Informationen zur Java-Array-Liste
Mehrdimensionales Array in Swift
Deklarieren eines mehrdimensionalen Arrays Versuchen wir TypeScript für Java-Probleme 4-4
[Java] Konvertierung von Listentyp / Array-Typ
[Java] Teilzeichenfolgen extrahieren (AOJ13 --shuffle)
Beispiel für eine Java-Standardprotokollausgabe
Grundlagen der Java-Entwicklung ~ Übung (Array) ~
[Java] Konvertiert ArrayList in Array
[Java Silver] So generieren Sie ein Array
So initialisieren Sie ein Java-Array
[Anfänger] Java grundlegende "Array" Beschreibung