如何打印矩阵的不同列和行的标题?

时间:2018-05-04 03:28:34

标签: java arrays

所以我有一个为锦标赛做一点积分的任务,非常简单,但我希望它是

                        Dom 1       Dom 2   Dom 3        Dom 4
Mario Mort y Chepita     45          22      50           30
Chunche y Lichita        55          49      66           60 
Porcionsón y Mary        40          38      47           70    
Maikol Jordan y Paty     65          70      70           65

我似乎无法把#34;头衔和#34; (Dom 1,Dom 2,Mario Mort y Chepita,Chunche y Lichita等)

public static void puntajeTorneo() {
    //Primer equipo
    puntajes[0][0] = 45;
    puntajes[0][1] = 22;
    puntajes[0][2] = 50;
    puntajes[0][3] = 30;
    //Segundo equipo
    puntajes[1][0] = 55;
    puntajes[1][1] = 49;
    puntajes[1][2] = 66;
    puntajes[1][3] = 60;
    //Tercer equipo
    puntajes[2][0] = 40;
    puntajes[2][1] = 38;
    puntajes[2][2] = 47;
    puntajes[2][3] = 70;
    //Cuarto equipo
    puntajes[3][0] = 65;
    puntajes[3][1] = 70;
    puntajes[3][2] = 70;
    puntajes[3][3] = 65;
}//Fin inicio de matriz PuntajeTorneo.

public static void totales() {

    int total1 = puntajes[0][0] + puntajes[0][1] + puntajes[0][2] + puntajes[0][3];
    int total2 = puntajes[1][0] + puntajes[1][1] + puntajes[1][2] + puntajes[1][3];
    int total3 = puntajes[2][0] + puntajes[2][1] + puntajes[2][2] + puntajes[2][3];
    int total4 = puntajes[3][0] + puntajes[3][1] + puntajes[3][2] + puntajes[3][3];

    JOptionPane.showMessageDialog(null, "Primer equipo: " + total1 + "\nSegundo equipo: " + total2 + "\nTercer equipo: " + total3 + "\nCuarto equipo: " + total4);
}//Fin totales. 

public static void imprimePuntajes() {
    for (int x = 0; x < puntajes.length; x++) {

        for (int y = 0; y < puntajes[x].length; y++) {

            System.out.print(puntajes[x][y] + "     ");

        }

        System.out.println();

    }
}//Fin Imprime Puntaje

仅打印

45 22 50 30
55 49 66 60
40 38 47 70
65 70 70 65

但我需要每列和每行都有标题。

2 个答案:

答案 0 :(得分:0)

您可以创建两个字符串数组:

rowTitles

另一个rowTitle

然后在打印矩阵之前使用另一个循环打印出columnTitles。

当您打印矩阵行时,您可以在打印行的第一个元素之前打印相应的FragmentManager. findFragmentById(int id)

答案 1 :(得分:0)

这是添加标头的最简单且更少的实施更改。 尝试以下

  public class Test {

    private static int[][] puntajes = new int[4][4];
    private static String[] hearders = new String[4];

    public static void main(String[] args){
      puntajeTorneo();
      imprimePuntajes();
    }

    public static void puntajeTorneo() {

      //Primer equipo
      hearders[0] = "Dom 1 \t\t\t\t";
      hearders[1] = "Dom 2  \t\t\t\t";
      hearders[2] = "Mario Mort y Chepita";
      hearders[3] = "Chunche y Lichita   ";

      puntajes[0][0] = 45;
      puntajes[0][1] = 22;
      puntajes[0][2] = 50;
      puntajes[0][3] = 30;
      //Segundo equipo
      puntajes[1][0] = 55;
      puntajes[1][1] = 49;
      puntajes[1][2] = 66;
      puntajes[1][3] = 60;
      //Tercer equipo
      puntajes[2][0] = 40;
      puntajes[2][1] = 38;
      puntajes[2][2] = 47;
      puntajes[2][3] = 70;
      //Cuarto equipo
      puntajes[3][0] = 65;
      puntajes[3][1] = 70;
      puntajes[3][2] = 70;
      puntajes[3][3] = 65;
    }//Fin inicio de matriz PuntajeTorneo.

    public static void imprimePuntajes() {
      for(int a = 0; a<hearders.length; a++){
        System.out.print(hearders[a] + "\t");
      }
      System.out.println();
      for (int x = 0; x < puntajes.length; x++) {
        for (int y = 0; y < puntajes[x].length; y++) {
          System.out.print(puntajes[x][y] + "\t\t\t\t\t\t");
        }
        System.out.println();
      }
    }//Fin Imprime Puntaje
  }