Contador de números positivos y negativos

Iniciado por K3NS4N, 23 Mayo 2014, 09:11 AM

0 Miembros y 1 Visitante están viendo este tema.

K3NS4N

Buenas noches, llevo algunas horas con este ejercicio y la verdad no se que esta mal ya que por mas que reviso, no logra arrojar la cantidad correcta, el ejercicio es el siguiente:

Crear un programa en Java que permita identificar y contar los datos positivos y negativos almacenados en una matriz.


Y mi codigo es el siguiente:

Código (java) [Seleccionar]



import java.util.Scanner;

public class ejercicio_01 {

private Scanner teclado;
private int[][] mat;
private int pos=0;
private int neg=0;


public void cargar() {

teclado=new Scanner(System.in);

System.out.print("Cuantas fila tiene la matriz:");
int filas=teclado.nextInt();

System.out.print("Cuantas columnas tiene la matriz:");
int columnas=teclado.nextInt();

mat=new int[filas][columnas];

for(int f=0;f<mat.length;f++) {
for(int c=0;c<mat[f].length;c++) {
System.out.print("Ingrese componente:");

mat[f][c]=teclado.nextInt(); }
}
}



public void contador(){
System.out.println("Positivos y negativos");

for(int f=0;f<mat.length;f++){
for(int c=0;c<mat.length;c++){
if(mat[f][c]>=0)
pos++;
else if (mat[f][c]<0)
neg++;
}
}
System.out.println("cantidad de positivos: "+pos);
System.out.println("cantidad de negativos: "+neg);

}



public static void main(String[] ar) {
ejercicio_01 p=new ejercicio_01();
p.cargar();
p.contador();
}
      }




Alguien me indica en donde esta el error?

PD: El cero lo tomo como número positivo.

puntoBat

Prueba esto:

if(mat[f][c]>0)  { pos++; }

else if (mat[f][c]<0){ neg++; }

creo que el error lo tenias en el if, cuando comparabas la matriz "mat", le estabas diciento que si es mayor o IGUAL que 0 que fuese positivo, si lo pones asi no deberia salirte el 0


engel lex

podrías detallar con más exactitud el problema que tienes?

no podrías usar simplemente "else" en lugar de "else if"? el if ahí sobra porque la consecuencia es única...

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.