Jump to content

Aprendiendo en Java, ayuda por favor


Recommended Posts

Buenos días, resulta que estoy aprendiendo Java, y sin embargo , me enviaron la tarea de que en un arreglo con 120 elementos, 10 elementos por cada mes del año, sumara los elementos de la matriz. Sin embargo, no sé cómo proceder, por lo que sólo llevo ésto, y algo que intenté adecuar a mi código por Internet. Agradecería mucho si alguien me pudiese ayudar :3

 

 

 

public class Matriz{

int [ ][ ] matriz = new int [11] [9] // fila y columna

matriz [0][0] =1 // cada elemento y su dato

matriz [0][1] =2

matriz [0][2] =3

matriz [0][3] =4

matriz [0][4] =5

matriz [0][5] =6

matriz [0][6] =7

matriz [0][7] =8

matriz [0][8] =9

matriz [0][9] =10

matriz [1][0] =11

matriz [1][1] =12

matriz [1][2] =13

matriz [1][3] =14

matriz [1][4] =15

matriz [1][5] =16

matriz [1][6] =17

matriz [1][7] =18

matriz [1][8] =19

matriz [1][9] =20

matriz [2][0] =21

matriz [2][1] =22

matriz [2][2] =23

matriz [2][3] =24

matriz [2][4] =25

matriz [2][5] =26

matriz [2][6] =27

matriz [2][7] =28

matriz [2][8] =29

matriz [2][9] =30

matriz [3][0] =31

matriz [3][1] =32

matriz [3][2] =33

matriz [3][3] =34

matriz [3][4] =35

matriz [3][5] =36

matriz [3][6] =37

matriz [3][7] =38

matriz [3][8] =39

matriz [3][9] =40

matriz [4][0] =41

matriz [4][1] =42

matriz [4][2] =43

matriz [4][3] =44

matriz [4][4] =45

matriz [4][5] =46

matriz [4][6] =47

matriz [4][7] =48

matriz [4][8] =49

matriz [4][9] =50

matriz [5][0] =51

matriz [5][1] =52

matriz [5][2] =53

matriz [5][3] =54

matriz [5][4] =55

matriz [5][5] =56

matriz [5][6] =57

matriz [5][7] =58

matriz [5][8] =59

matriz [5][9] =60

matriz [6][0] =61

matriz [6][1] =62

matriz [6][2] =63

matriz [6][3] =64

matriz [6][4] =65

matriz [6][5] =66

matriz [6][6] =67

matriz [6][7] =68

matriz [6][8] =69

matriz [6][9] =70

matriz [7][0] =71

matriz [7][1] =72

matriz [7][2] =73

matriz [7][3] =74

matriz [7][4] =75

matriz [7][5] =76

matriz [7][6] =77

matriz [7][7] =78

matriz [7][8] =79

matriz [7][9] =80

matriz [8][0] =81

matriz [8][1] =82

matriz [8][2] =83

matriz [8][3] =84

matriz [8][4] =85

matriz [8][5] =86

matriz [8][6] =87

matriz [8][7] =88

matriz [8][8] =89

matriz [8][9] =90

matriz [9][0] =91

matriz [9][1] =92

matriz [9][2] =93

matriz [9][3] =94

matriz [9][4] =95

matriz [9][5] =96

matriz [9][6] =97

matriz [9][7] =98

matriz [9][8] =99

matriz [9][9] =100

matriz [10][0] =101

matriz [10][1] =102

matriz [10][2] =103

matriz [10][3] =104

matriz [10][4] =105

matriz [10][5] =106

matriz [10][6] =107

matriz [10][7] =108

matriz [10][8] =109

matriz [10][9] =110

matriz [11][0] =111

matriz [11][1] =112

matriz [11][2] =113

matriz [11][3] =114

matriz [11][4] =115

matriz [11][5] =116

matriz [11][6] =117

matriz [11][7] =118

matriz [11][8] =119

matriz [11][9] =120

// hacer for anidado de 1 a 12 y for de 1 a 10

// acá pondremos la suma de los elementos

public int suma(int [][] matriz){

suma=0

for (fila=0; fila<matriz.length; fila++)

for (columna = 0; columna < matriz[fila].length; columna++)

suma += matriz[11][9];

return suma;

}

}

 

 

 

PD: Disculpen que el código sea tan largo xDD

Link to comment
Share on other sites

Buenos días, resulta que estoy aprendiendo Java, y sin embargo , me enviaron la tarea de que en un arreglo con 120 elementos, 10 elementos por cada mes del año, sumara los elementos de la matriz. Sin embargo, no sé cómo proceder, por lo que sólo llevo ésto, y algo que intenté adecuar a mi código por Internet. Agradecería mucho si alguien me pudiese ayudar :3

 

 

 

public class Matriz{

int [ ][ ] matriz = new int [11] [9] // fila y columna

matriz [0][0] =1 // cada elemento y su dato

matriz [0][1] =2

matriz [0][2] =3

matriz [0][3] =4

matriz [0][4] =5

matriz [0][5] =6

matriz [0][6] =7

matriz [0][7] =8

matriz [0][8] =9

matriz [0][9] =10

matriz [1][0] =11

matriz [1][1] =12

matriz [1][2] =13

matriz [1][3] =14

matriz [1][4] =15

matriz [1][5] =16

matriz [1][6] =17

matriz [1][7] =18

matriz [1][8] =19

matriz [1][9] =20

matriz [2][0] =21

matriz [2][1] =22

matriz [2][2] =23

matriz [2][3] =24

matriz [2][4] =25

matriz [2][5] =26

matriz [2][6] =27

matriz [2][7] =28

matriz [2][8] =29

matriz [2][9] =30

matriz [3][0] =31

matriz [3][1] =32

matriz [3][2] =33

matriz [3][3] =34

matriz [3][4] =35

matriz [3][5] =36

matriz [3][6] =37

matriz [3][7] =38

matriz [3][8] =39

matriz [3][9] =40

matriz [4][0] =41

matriz [4][1] =42

matriz [4][2] =43

matriz [4][3] =44

matriz [4][4] =45

matriz [4][5] =46

matriz [4][6] =47

matriz [4][7] =48

matriz [4][8] =49

matriz [4][9] =50

matriz [5][0] =51

matriz [5][1] =52

matriz [5][2] =53

matriz [5][3] =54

matriz [5][4] =55

matriz [5][5] =56

matriz [5][6] =57

matriz [5][7] =58

matriz [5][8] =59

matriz [5][9] =60

matriz [6][0] =61

matriz [6][1] =62

matriz [6][2] =63

matriz [6][3] =64

matriz [6][4] =65

matriz [6][5] =66

matriz [6][6] =67

matriz [6][7] =68

matriz [6][8] =69

matriz [6][9] =70

matriz [7][0] =71

matriz [7][1] =72

matriz [7][2] =73

matriz [7][3] =74

matriz [7][4] =75

matriz [7][5] =76

matriz [7][6] =77

matriz [7][7] =78

matriz [7][8] =79

matriz [7][9] =80

matriz [8][0] =81

matriz [8][1] =82

matriz [8][2] =83

matriz [8][3] =84

matriz [8][4] =85

matriz [8][5] =86

matriz [8][6] =87

matriz [8][7] =88

matriz [8][8] =89

matriz [8][9] =90

matriz [9][0] =91

matriz [9][1] =92

matriz [9][2] =93

matriz [9][3] =94

matriz [9][4] =95

matriz [9][5] =96

matriz [9][6] =97

matriz [9][7] =98

matriz [9][8] =99

matriz [9][9] =100

matriz [10][0] =101

matriz [10][1] =102

matriz [10][2] =103

matriz [10][3] =104

matriz [10][4] =105

matriz [10][5] =106

matriz [10][6] =107

matriz [10][7] =108

matriz [10][8] =109

matriz [10][9] =110

matriz [11][0] =111

matriz [11][1] =112

matriz [11][2] =113

matriz [11][3] =114

matriz [11][4] =115

matriz [11][5] =116

matriz [11][6] =117

matriz [11][7] =118

matriz [11][8] =119

matriz [11][9] =120

// hacer for anidado de 1 a 12 y for de 1 a 10

// acá pondremos la suma de los elementos

public int suma(int [][] matriz){

suma=0

for (fila=0; fila<matriz.length; fila++)

for (columna = 0; columna < matriz[fila].length; columna++)

suma += matriz[11][9];

return suma;

}

}

 

 

 

PD: Disculpen que el código sea tan largo xDD

 

Hola, buenas. Dos cosas se me vienen a la mente ahora. 1.- Para que llenar a mano la matriz si has ocupado un for para recorrerlas. Las podrías haber llenado de la misma forma, a menos que no entiendas el uso del for, que es lo que veo que ocurre cuando tratas de sumar todos los elementos dentro de la matriz. 2.- la instrucción suma +=matriz[11][9] ira incrementando en su mismo valor por el largo de tu arreglo, o sea 120 veces.

 

la función suma debería ser algo así:

 

suma += matriz[fila][columna];

 

Trata de entender que es lo que hace lo que tu programaste y así podrás ver que error ocurre.

Link to comment
Share on other sites

Como dijo el amigo solo estas sumando el valor del mismo elemento 20 veces

 

Entonces quedaría así

 

BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));

   int contador = 0;
   int sumaTotal = 0;
   int[][] matriz = new int[12][10];
   /* Otro error es al declarar la matriz solo el tuyo tiene 11 elementos, no doce
    porque en una matriz empieza del indice 0, osea
    *
    * tu tienes matriz[11][9]
    *
    * [11] -> 0,1,2,3,4,5,6,7,8,9,10 = 11 elementos, no 12
    * [9] -> 0,1,2,3,4,5,6,7,8 = 9 elementos, no 10
    *
    * en cambio si tenemos matriz[12][10]
    *
    * [12] -> 0,1,2,3,4,5,6,7,8,9,10,11 = 12 elementos
    * [10] -> 0,1,2,3,4,5,6,7,8,9 = 10 elementos
    */   

   //Llenamos la matriz en vez de hacerlo manualmente, porque
   //imaginate si tienes 1000 elementos escribiar mucho codigo

   for(int x=0;x<12;x++){
	   for(int y=0;y<10;y++){
		   contador++;
		   matriz[x][y] = contador;
	   }
   }
   //Para mostrar la matriz y ver que se haya llenado correctamente
   for(int x=0;x<12;x++){
	   for(int y=0;y<10;y++){
		   System.out.println(matriz[x][y]);
	   }
   }

   for(int x=0;x<12;x++){
	   for(int y=0;y<10;y++){
		   sumaTotal+=matriz[x][y];
		   //Es lo mismo a sumaTotal = sumaTotal + matriz[x][y];
	   }
   }

    System.out.println(sumaTotal);

 

Saludos

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...