cannot convert from StringBuilder to String
sb.toString
à partir de String.valueOf
pour tout objet spécifié dans l'argument.StringBuilder sb = new StringBuilder();
System.out.println(sb);
StringBuilder sb = new StringBuilder();
String result = sb.toString();//OK
String result = sb; //Erreur de compilation(Type différent)
import java.util.*;
import java.util.Arrays;
public class Main {
public static void main(String[] args) throws Exception {
//Tableau à 1 dimension
int[] nums = new int[] { 1, 2, 3 };
System.out.println(nums);//[I@36baf30c
System.out.println(Arrays.toString(nums));// [1, 2, 3]
//Tableau multidimensionnel
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]]
}
}
Créez un programme simple pour effectuer des calculs de table. Créez un programme qui lit une table avec des éléments du nombre de lignes r et du nombre de colonnes c et r × c, et génère une nouvelle table avec la somme de chaque ligne et colonne insérée. 【Input】 La première ligne est donnée r et c séparés par des blancs. Chaque r ligne qui suit reçoit c entiers séparés par des blancs. 【Output】 Sortez une nouvelle table de (r + 1) × (c + 1). Séparez les entiers adjacents sur chaque ligne avec un seul espace. Insérez la valeur totale de cette ligne comme dernière colonne de chaque ligne, la valeur totale de cette colonne comme dernière ligne de chaque colonne et la valeur totale de la table entière dans la dernière ligne / colonne. 【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];
//Scanner un tableau avec des éléments r x c
for (int i = 0; i < r; i++)
for (int j = 0; j < c; j++) {
A[i][j] = sc.nextInt();
}
//Calculez le total de chaque colonne et affectez-le à la colonne c
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;
}
//Calculez le total de chaque ligne et affectez-le à la colonne c
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;
}
//Vérifiez le contenu
//System.out.println(Arrays.deepToString(A));
//Rejoignez une ligne à la fois
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);
}
//Créer une chaîne de caractères à afficher par StringBuilder
public static String join(int[] array, String separator) {
//Le premier caractère de la 1ère ligne et de la 1ère colonne (tableau)[0]) Avoir
StringBuilder str = new StringBuilder(array[0] + "");
//Ne pas sortir le dernier vide en tournant à partir du deuxième caractère
for (int i = 1; i < array.length; i++) {
str.append(separator).append(array[i] + "");
}
return str.toString();
//Erreur de compilation sauf si converti en chaîne avec toString
//return str;
//incompatible types: StringBuilder cannot be converted to String
}
}
Recommended Posts