如果你看到我在下面的矩阵中保留数字的位置是根据我的列表,还有保留所有这些数字,当我尝试打印列表时,只发送给我很多这些: 我@ 7852e922这是内存地址?如果对象是打印的。谢谢你的关注。
package estructurasDeDatos;
import java.util.List;
import java.util.LinkedList;
public class Matriz {
private static Scanner read;
public static void main(String[] args){
/*read = new Scanner(System.in);
System.out.println("Ingrese el numero de filas y columnas: ");
int f = read.nextInt();
int c = read.nextInt();*/
LinkedList ll = new LinkedList();
System.out.println(" ** ** *** ******* **** ***** *** ***** ***** ");
System.out.println(" * ** * * * * * * * * * * ");
System.out.println(" * ** * * * * * * * * * * ");
System.out.println(" * * ******* * **** * * *** **** ");
System.out.println(" * * * * * * * * * * * ");
System.out.println(" * * * * * * * * * * * ");
System.out.println(" * * * * * * * ***** *** ***** ***** ");
System.out.println("###########################################################################");
int mt [][] = new int[10][10];//Genero la matriz con dos arreglos con una cantidad que yo quiera de
//filas y columnas.
int num;
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{//Genero un numero aleatorio entre 0 y 100
num=(int)(Math.random()*100);
//Asigno el numero generado a la matriz
mt[i][j]=num;
ll.push(mt);
}
}
for (int i = 0; i < 10; i++)
{
for (int j = 0; j < 10; j++)
{//Imprimo la celdad de la matriz
System.out.print(mt[i][j]+"\t");
}
System.out.println();
}
System.out.println("###########################################################################");
System.out.println("\n\n");
System.out.println("LOS NUMEROS DE LA DIAGONAL PRINCIPAL:");
System.out.print(mt[0][0]+" "+mt[1][1]+" "+mt[2][2]+" "+mt[3][3]+" "+mt[4][4]+" "+mt[5][5]+" "+mt[6][6]+" "+mt[7][7]+" "+mt[8][8]+" "+mt[9][9]+"\n\n");
int sumatoriadiap=mt[0][0]+mt[1][1]+mt[2][2]+mt[3][3]+mt[4][4]+mt[5][5]+mt[6][6]+mt[7][7]+mt[8][8]+mt[9][9];
System.out.println("La sumatoria de la diagonal principal es: \n"+sumatoriadiap);
System.out.println("El promedio de la diagonal principal es : \n"+sumatoriadiap/10);
////////////////////////////////////////////////////////////////////////////////////////////////////////
System.out.println("LOS NUMEROS DE LA DIAGONAL SECUNDARIA:");
System.out.print(mt[0][9]+" "+mt[1][8]+" "+mt[2][7]+" "+mt[3][6]+" "+mt[4][5]+" "+mt[5][4]+" "+mt[6][3]+" "+mt[7][2]+" "+mt[8][1]+" "+mt[9][0]+"\n\n");
int sumatoriadias=mt[0][9]+mt[1][8]+mt[2][7]+mt[3][6]+mt[4][5]+mt[5][4]+mt[6][3]+mt[7][2]+mt[8][1]+mt[9][0];
System.out.println("La sumatoria de la diagonal principal es: \n"+sumatoriadias);
System.out.println("El promedio de la diagonal principal es : \n"+sumatoriadias/10);
}
}
答案 0 :(得分:0)
虽然我没有看到你在哪里打印出你的列表:
System.out.println(ll);
...因为您要在未绑定的LinkedList
内添加多维数组,所以必须特别注意打印它们。
首先:您必须自己迭代列表。
for(Object value : ll) {
}
下一步:由于你没有泛型,你必须施放。如果您输入LinkedList
至LinkedList<int[][]>
,则可以更轻松。
然后,您必须使用Array#deepToString
,它将以可打印和可表示的方式从数组中获取深层嵌套值。
for(Object value : ll) {
System.out.println(Arrays.deepToString((int[][]) value));
}
答案 1 :(得分:0)
我相信你在LinkedList
for (int j = 0; j < 10; j++) {
num = (int) (Math.random() * 100);
mt[i][j] = num;
ll.push(num); //add the random number to the LinkedList instead of the whole 2 dime array
}
然后为打印添加如下内容:
System.out.println(ll);