Java - En donde he fallado ?

   
Vista:

En donde he fallado ?

Publicado por Guille (2 intervenciones) el 07/06/2016 16:32:30
Hola.
Tengo un error en el resultado del codigo , que es :

ingresa la cantidad del ingeniero A
20
ingresa la cantidad del ingeniero B
12
ingresa la cantidad del ingeniero C
50
porcentaje de A 0
porcentaje de B 0
porcentaje de C 0

En los porcentajes aparece 0 .

El codigo es el siguiente :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package ejerciciosa;
import java.util.Scanner;
public class EjerciciosA{
Scanner x = new Scanner(System.in);
int A;
int B;
int C;
public EjerciciosA(){
    System.out.println("ingresa la cantidad del ingeniero A");
            A = x.nextInt();
            System.out.println("ingresa la cantidad del ingeniero B");
            B = x.nextInt();
    System.out.println("ingresa la cantidad del ingeniero C");
            C = x.nextInt();
            int suma =A+B+C;
            System.out.println("porcentaje de A "+""+A/suma);
            System.out.println("porcentaje de B "+""+B/suma);
            System.out.println("porcentaje de C "+""+C/suma);
            }
public static void main(String[] args){
    EjerciciosA parte1 = new EjerciciosA();
}}


Cual és el error que he cometido ?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

En donde he fallado ?

Publicado por D. Laura (18 intervenciones) el 07/06/2016 18:57:10
Hola que tal no tienes ningun error..

pero en todo caso necesitas checar como sacas el porcentaje ya que la suma de los tres numeros que ingresas que en este caso es 20, 12 y 50 es igual a 82 y al dividir 20 entre 82 el resultado es de 0.24 pero te lo toma como entero y por eso en los tres te arroja cero, es decir no toma en cuenta los decimales, entonces lo que puedes hacer es cambiar tus variables A, B, C y suma a double:

y te quedaria así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class EjerciciosA {
Scanner x = new Scanner(System.in);
double A;
double B;
double C;
double suma;
 
public EjerciciosA(){
System.out.println("ingresa la cantidad del ingeniero A");
A = x.nextInt();
System.out.println("ingresa la cantidad del ingeniero B");
B = x.nextInt();
System.out.println("ingresa la cantidad del ingeniero C");
C = x.nextInt();
 
suma = A+B+C;
 
System.out.println("porcentaje de A " + A/suma);
System.out.println("porcentaje de B " + B/suma);
System.out.println("porcentaje de C " + C/suma);
}
}
 
  public static void main(String[] args) {
        // TODO code application logic here
        EjerciciosA parte1 = new EjerciciosA();
    }

espero te sirva, saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

En donde he fallado ?

Publicado por Armando (14 intervenciones) el 07/06/2016 18:58:11
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.util.Scanner;
public class EjerciciosA {
Scanner x = new Scanner(System.in);
double A;
double B;
double C;
double suma;
double porA;
double porB;
double porC;
public EjerciciosA (){
System.out.println("ingresa la cantidad del ingeniero A");
A = x.nextInt();
System.out.println("ingresa la cantidad del ingeniero B");
B = x.nextInt();
System.out.println("ingresa la cantidad del ingeniero C");
C = x.nextInt();
suma =A+B+C;
porA= A/suma;
porA= B/suma;
porA= C/suma;
System.out.println("porcentaje de A: "+ porA);
System.out.println("porcentaje de B: "+porB);
System.out.println("porcentaje de C: "+porC);
}
public static void main(String[] args){
EjerciciosA parte1 = new Foros();
}
}

Es por el tipo de dto que utilizas intentalo asi
saludos...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

En donde he fallado ?

Publicado por Guille (2 intervenciones) el 07/06/2016 19:10:54
Muchas gracias !
Me ha servido para entender que int no puede ser decimal.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

En donde he fallado ?

Publicado por Lady Garay Gutierrez (9 intervenciones) el 07/06/2016 21:13:01
O intenta haciendo una regla de 3, en donde sumes todos los valores y lo iguales a 100 y de ahi te sacará el valor de cada uno de los porcentajes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar