cannot convert from StringBuilder to String
sb.toString
von String.valueOf
auf.StringBuilder sb = new StringBuilder();
System.out.println(sb);
StringBuilder sb = new StringBuilder();
String result = sb.toString();//OK
String result = sb; //Kompilierungsfehler(Anderer Typ)
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]]
}
}
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