elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Duda de programa en java :( condicional simple.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda de programa en java :( condicional simple.  (Leído 7,957 veces)
rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Duda de programa en java :( condicional simple.
« en: 30 Septiembre 2010, 07:01 am »

Código
  1. //Un postulante a un empleo, realiza un test de capacitación, se obtuvo la siguiente información: cantidad
  2. //total de preguntas que se le realizaron y la cantidad de preguntas que contestó correctamente.
  3. //Se pide confeccionar un programa que ingrese los dos datos por teclado e informe el nivel del mismo según el
  4. //porcentaje de respuestas correctas que ha obtenido, y sabiendo que:
  5. //Nivel máximo:    Porcentaje>=90%.
  6. //Nivel medio:    Porcentaje>=75% y <90%.
  7. //Nivel regular:    Porcentaje>=50% y <75%.
  8. //Fuera de nivel:    Porcentaje<50%.
  9.  
  10. import java.util.Scanner;
  11. public class Postulanteaempleo {
  12.  
  13.    public static void main(String[] args) {
  14.        Scanner teclado= new Scanner(System.in);
  15.  
  16.        int preguntotal;
  17.        int preguntascorrectas;
  18.        int porcentaje;
  19.  
  20.        System.out.println("Introduce cantidad total de preguntas que se le realizaron: ");
  21.        preguntotal=teclado.nextInt();
  22.  
  23.        System.out.println("Cantidad de preguntas que contestó correctamente: ");
  24.        preguntascorrectas=teclado.nextInt();
  25.  
  26.        porcentaje= preguntascorrectas*100/preguntotal;
  27.  
  28.  
  29.        if(porcentaje >= 90 )
  30.        {
  31.            System.out.println("Nivel máximo");
  32.        }
  33.            else
  34.            {
  35.                if(porcentaje >= 75 && porcentaje < 90)
  36.                    {                    
  37.                    System.out.println("Nivel medio");
  38.                    }
  39.                    else
  40.                    {
  41.                        if(porcentaje >= 50 && porcentaje < 75)
  42.                        {
  43.                        System.out.println("Nivel regular");
  44.                        }
  45.                        else
  46.                        {
  47.                        System.out.println("Fuera de nivel");
  48.                        }
  49.  
  50.  
  51.  
  52.  
  53.  
  54.                    }
  55.  
  56.            }
  57.  
  58.  
  59.    }
  60.  
  61. }


en el proceso de hallar el porcentaje de preguntas correctas

 porcentaje= preguntascorrectas*100/preguntotal;  si  introducimos primero asi,

Introduce cantidad total de preguntas que se le realizaron:
20
Cantidad de preguntas que contestó correctamente:
15
Nivel medio


pero  si matematicamente al dividir 15/20= 0.75 *100 = 75   que seria nivel medio

entonces al yo hacer

porcentaje = preguntascorrectas / preguntotal*100;


Introduce cantidad total de preguntas que se le realizaron:
20
Cantidad de preguntas que contestó correctamente:
15
Fuera de nivel

no entiendo aqui la prioridad de operador ,,,  xq sera ???   :-[







« Última modificación: 30 Septiembre 2010, 08:18 am por LEYER » En línea

rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Duda de programa en java :( condicional simple.
« Respuesta #1 en: 30 Septiembre 2010, 19:28 pm »

Así, <Tienes que hacer que ingrese los números desde la consola>,
Código
  1. public class PoC {
  2.  public static void main(String[] args){
  3.    int sTotalPreguntas;
  4.    int sPreguntasCorrectas;
  5.    double sPorcentaje;
  6.  
  7.    sTotalPreguntas = 20;
  8.    sPreguntasCorrectas = 10;
  9.  
  10.    sPorcentaje = sPreguntasCorrectas * 100 / sTotalPreguntas;
  11.  
  12.    System.out.println(sPorcentaje + "\n");
  13.  
  14.    if(sPorcentaje >= 90){
  15.      System.out.println("Nivel máximo");
  16.    }else if((sPorcentaje >= 75) && (sPorcentaje < 90)){
  17.      System.out.println("Nivel medio");
  18.    }else if((sPorcentaje >= 50) && (sPorcentaje < 75)){
  19.      System.out.println("Nivel regular");
  20.    }else{
  21.      System.out.println("Fuera de nivel");
  22.    }
  23.  }
  24. }


En línea

Te vendería mi talento por poder dormir tranquilo.
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Duda de programa en java :( condicional simple.
« Respuesta #2 en: 30 Septiembre 2010, 19:40 pm »

sabes que puedes usar parentesis para forzar la priorizacion de calculos?

Saludos

En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Duda de programa en java :( condicional simple.
« Respuesta #3 en: 30 Septiembre 2010, 19:42 pm »

Simon. Como en matemáticas, verdad?
Código
  1. sPorcentaje = (sPreguntasCorrectas * 100) / sTotalPreguntas;
En línea

Te vendería mi talento por poder dormir tranquilo.
Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Duda de programa en java :( condicional simple.
« Respuesta #4 en: 30 Septiembre 2010, 19:44 pm »

Mmm no entiendo tu primera respuesta :S

Saludos
En línea

rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: Duda de programa en java :( condicional simple.
« Respuesta #5 en: 30 Septiembre 2010, 21:03 pm »

 
Así, <Tienes que hacer que ingrese los números desde la consola>,
Código
  1. public class PoC {
  2.  public static void main(String[] args){
  3.    int sTotalPreguntas;
  4.    int sPreguntasCorrectas;
  5.    double sPorcentaje;
  6.  
  7.    sTotalPreguntas = 20;
  8.    sPreguntasCorrectas = 10;
  9.  
  10.    sPorcentaje = sPreguntasCorrectas * 100 / sTotalPreguntas;
  11.  
  12.    System.out.println(sPorcentaje + "\n");
  13.  
  14.    if(sPorcentaje >= 90){
  15.      System.out.println("Nivel máximo");
  16.    }else if((sPorcentaje >= 75) && (sPorcentaje < 90)){
  17.      System.out.println("Nivel medio");
  18.    }else if((sPorcentaje >= 50) && (sPorcentaje < 75)){
  19.      System.out.println("Nivel regular");
  20.    }else{
  21.      System.out.println("Fuera de nivel");
  22.    }
  23.  }
  24. }


gracias por la respuesta shell root , pero es que osea asi como lo tienes,,tambien con todas la variables de tipo int da correcto todo...    debe ser que me explique mal...   


entonces en lo que tienes hay el resultado seria verdad,  50 que segun la condicion es NIVEL REGULAR

pero si hacemos lo siguente CON lavariables de tipo int

ponemos porcentaje = preguntascorrectas / preguntotal*100;  el resultado da

Introduce cantidad total de preguntas que se le realizaron:
20
Cantidad de preguntas que contestó correctamente:
10
Fuera de nivel
0
 
entonces hay era lo que decia YO EL ERROr fetido ese que me daba


y hay lo que hize fue poner todas las variables float y ahora da bien... es mas puse solo

Código:
int preguntotal;         
float preguntascorrectas;
float porcentaje;

con eso me daba bien igual ...

mira dudilla es ,,,hay que controlar ajuro ,,todos los resultados de salida de todas la variables de salida ? cierto para estar mejor ?  y ver posibles errores ?

creditos también Javier Salcedo coder and desing.
En línea

rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Duda de programa en java :( condicional simple.
« Respuesta #6 en: 30 Septiembre 2010, 21:27 pm »

Cómo?, No entendí, hice esto,
Código
  1. [SNIP]
  2.    sTotalPreguntas = 20;
  3.    sPreguntasCorrectas = 10;
  4. [/SNIP]
y me dio como resultado lo siguiente,
Código
  1. shellroot@alex-laptop:~/Escritorio$ java PoC
  2. 50.0
  3.  
  4. Nivel regular
En línea

Te vendería mi talento por poder dormir tranquilo.
rub'n


Desconectado Desconectado

Mensajes: 1.217


(e -> λ("live now")); tatuar -> λ("α");


Ver Perfil WWW
Re: Duda de programa en java :( condicional simple.
« Respuesta #7 en: 30 Septiembre 2010, 22:04 pm »

disculpa si estoy hablando mal o algo ,,,osea si te entiendo tu codigo esta perfecto me ayudo del todo ,,,pero es que ve

desde un principio ,,el codigo que puse estaba bien ves, con la variables de tipo int

pero con las variables de tipo int   si ponia

   sPorcentaje = sPreguntasCorrectas  / sTotalPreguntas *100 ; pero con la variables tipo int

hay da error ves,,,  si ponemos las variables a float no da error.o double;  :)  


gracias por la ayuda... pana
« Última modificación: 25 Octubre 2010, 08:30 am por RuB'n. » En línea

rubn0x52.com KNOWLEDGE  SHOULD BE FREE.
If you don't have time to read, you don't have the time (or the tools) to write, Simple as that. Stephen king
Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.724


<3


Ver Perfil WWW
Re: Duda de programa en java :( condicional simple.
« Respuesta #8 en: 30 Septiembre 2010, 23:11 pm »

jajajjaa pero entonces, cual es tú pregunta!
Código
  1. public class PoC {
  2.  public static void main(String[] args){
  3.    int sTotalPreguntas;
  4.    int sPreguntasCorrectas;
  5.    int        sPorcentaje;
  6.  
  7.    sTotalPreguntas        = 20;
  8.    sPreguntasCorrectas    = 2;
  9.  
  10.    sPorcentaje = sPreguntasCorrectas * 100 / sTotalPreguntas;
  11.  
  12.    System.out.println(sPorcentaje + "\n");
  13.  
  14.    if(sPorcentaje >= 90){
  15.      System.out.println("Nivel máximo");
  16.    }else if((sPorcentaje >= 75) && (sPorcentaje < 90)){
  17.      System.out.println("Nivel medio");
  18.    }else if((sPorcentaje >= 50) && (sPorcentaje < 75)){
  19.      System.out.println("Nivel regular");
  20.    }else{
  21.      System.out.println("Fuera de nivel");
  22.    }
  23.  }
  24. }
Resultado,
Código
  1. shellroot@alex-laptop:~/Escritorio$ javac PoC.java
  2. shellroot@alex-laptop:~/Escritorio$ java PoC
  3. 10
  4.  
  5. Fuera de nivel
En línea

Te vendería mi talento por poder dormir tranquilo.
1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Duda de programa en java :( condicional simple.
« Respuesta #9 en: 1 Octubre 2010, 01:29 am »

hay da error ves,,,  si ponemos las variables a float no da error.o double;  :) 

Es qué no se trata de solo corregir para solucionar el problema, recuerda que Java es un lenguaje Orientado a Objetos y como tal una de sus caracteristicas es la Abstracción de la información, por ejemplo como mencionas de colocar las variables tipo float; sTotalPreguntas, no te pueden hacer 1.25 preguntas. Pero si tú maestro (o a quien vayas a entregar tu trabajo) no te dice nada pues vale.

jajajjaa pero entonces, cual es tú pregunta!
+1
En línea

abc
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda con programa java
Java
Gm3z 1 3,195 Último mensaje 4 Diciembre 2012, 14:00 pm
por Gm3z
Duda sobre cómo estructurar un programa con el paradigma POO en java? (Solución)
Java
ralymontes 9 5,955 Último mensaje 29 Agosto 2013, 17:17 pm
por ralymontes
Operador condicional ?: (Duda)
Programación C/C++
mort 1 1,784 Último mensaje 31 Enero 2015, 21:56 pm
por engel lex
Duda simple, mi programa se salta una línea. C++
Programación C/C++
pablovg9 3 7,212 Último mensaje 21 Julio 2015, 01:40 am
por pablovg9
(C++) Condicional if, seguir ejecutando, o cerrar programa
Programación C/C++
poma52 1 1,722 Último mensaje 1 Marzo 2018, 20:05 pm
por srWhiteSkull
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines