elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
27 Mayo 2012, 10:00  


Tema destacado: Deseas probar algunas mejoras a la interfaz del foro? Prueba cake! acerca de

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Ejercicios
| | | |-+  ayuda a desarrollar programa
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda a desarrollar programa  (Leído 2,409 veces)
jugran28

Desconectado Desconectado

Mensajes: 14


Ver Perfil
ayuda a desarrollar programa
« en: 1 Junio 2007, 01:15 »

/ programa que calcula el area perimetro de un rectnagulo triangulo y circulo usando metodos y debe ser intercativo  para salir del programa debe escirbir la letra N de preferencia
 aca solo me falta que cuando presiono la letra N me tiene que salir 
 saludos
package proareaperec;
import java.io.*;
public class Main {
   
 
        static double TrianguloP(double base, double hal){
        double P,Hipo;
        Hipo = Math.sqrt(Math.pow(base,2)+Math.pow(hal,2));
        P=base+hal+Hipo;
        return P;
        }
        static double RectanguloP(double base, double hal){
        double P;
        P=base*2+hal*2;
        return P;
        }
       static double CirculoP(double r, double PI=3.1416){
        double A, double PI=3.1416,  double r;
        P=(PI*r*r);
        return P;
        }
        static double TrianguloA(double base, double hal){
        double A;
        A=(base*hal)/2;
        return A;
        }
        static double RectanguloA(double base, double hal){
        double A;
        A=base*hal;
        return A;
        }
        static double CirculoAre(double r, double PI=3.1416){
        double A, double PI=3.1416,  double r;
        A=(PI*r*r);
        return A;
        }
   
   
    public static void main(String[] args)throws IOException {
       
        System.out.println("Ingrese un numero ");
        System.out.println("1. Calcular el Perimetro del Triangulo ");
        System.out.println("2. Calcular el Perimetro del Rectangulo");
        System.out.println("3. Calcular el Area del Rectangulo");
        System.out.println("4. Calcular el Area del Rectangulo");
        System.out.println("5. Calcular el Perimetro del Circulo");
        System.out.println("6. Calcular el Perimetro del Circulo");
System.out.println("N.  Salir del programa"); // aca me falta programar al presionar la letra N debe de salir del programa
        System.out.println("Ingrese un numero = ");
        BufferedReader dato1 = new BufferedReader(new InputStreamReader(System.in));
        int Z = Integer.valueOf(dato1.readLine().trim()).intValue();
        switch(Z)
        {
            case 1: {
                        System.out.println("Ingrese la Base = ");
                        BufferedReader dato2 = new BufferedReader(new InputStreamReader(System.in));
                        double X = Double.valueOf(dato2.readLine().trim()).doubleValue();
                       
                        System.out.println("Ingrese la Altura = ");
                        BufferedReader dato3 = new BufferedReader(new InputStreamReader(System.in));
                        double Y = Double.valueOf(dato3.readLine().trim()).doubleValue();
                        System.out.println("Perimetro del Triangulo =");
                        System.out.println(TrianguloP(X,Y));
                        System.out.println("Area del Triangulo =");
                        System.out.println(TrianguloA(X,Y));
                       
                        break;
                    }
            case 2: {
                        System.out.println("Ingrese la Base = ");
                        BufferedReader dato2 = new BufferedReader(new InputStreamReader(System.in));
                        double X = Double.valueOf(dato2.readLine().trim()).doubleValue();
                       
                        System.out.println("Ingrese la Altura = ");
                        BufferedReader dato3 = new BufferedReader(new InputStreamReader(System.in));
                        double Y = Double.valueOf(dato3.readLine().trim()).doubleValue();
                        System.out.println("Perimetro del Reactangulo =");
                        System.out.println(RectanguloP(X,Y));
                        System.out.println("Area del Reactangulo =");
                        System.out.println(RectanguloA(X,Y));
                        break;
                    }
            case 3:{
                        System.out.println("Ingrese la Base = ");
                        BufferedReader dato2 = new BufferedReader(new InputStreamReader(System.in));
                        double X = Double.valueOf(dato2.readLine().trim()).doubleValue();
                       
                        System.out.println("Ingrese la Altura = ");
                        BufferedReader dato3 = new BufferedReader(new InputStreamReader(System.in));
                        double Y = Double.valueOf(dato3.readLine().trim()).doubleValue();
                        System.out.println("Perimetro del Circulo =");
                        System.out.println(CirculoP(X,Y));
                        System.out.println("Area del Reactangulo =");
                        System.out.println(CirculoAre(X,Y));
                        break;
                        }
            default:{
                        System.out.println("Valor no Valido");
                        break;
                    }
        }
   
    }
}


En línea
»~^~«CkNU!»~^~«

Desconectado Desconectado

Mensajes: 79



Ver Perfil
Re: ayuda a desarrollar programa
« Respuesta #1 en: 1 Junio 2007, 14:32 »

No sé bien QUE problema tenés con la N, si podés explicate un poco más.

Hay un par de cosas que tenés que arreglar:

1 - Poner un Try para evitar que cuando presiones la N o cualquier letra la función intValue no te mate el programa con una excepción. (ver estructura Try-Catch)

2 - Disponer el menú en un while infinito que salga al presionar la tecla N.

Tratá de resolver estas 2 cosas y estás pronto. No es dificil, pero está bueno que trates de resolverlo solo. ;)

Saludos.


En línea

»~^~«ChiCkENURiNE»~^~«
bug_over

Desconectado Desconectado

Mensajes: 173


mv Linux GNU/linux


Ver Perfil WWW
Re: ayuda a desarrollar programa
« Respuesta #2 en: 17 Febrero 2008, 19:39 »

Uno parecido

Código:
import java.io.*;

class CurMat{
  public static void main(String args[]){
    InputStreamReader isr;
    isr = new InputStreamReader(System.in);
    BufferedReader br;
    br = new BufferedReader(isr);
    String sNum;
    Double d;
    int iOpcn, iNum, iRes, iCont, iNum2, iDD, iMM, iAAAA;
    double dNum1, dNum2, dNum3;
    iOpcn = -1;
    char cImPar;
    do{
      try{
        System.out.println("-----------------------------------");
        System.out.println(" 1. Calcular el area de un triangulo");
        System.out.println(" 2. Calcular el area de un trapecio");
        System.out.println(" 3. Decir si un numero es par o impar");
        System.out.println(" 4. Obtener el valor absoluto de un numero");
        System.out.println(" 5. Convertir de grados centigrados a grados kelvin");
        System.out.println(" 6. Convertir de grados centigrados a grados farenheit");
        System.out.println(" 7. Calcular la sumatoria de 'n' numeros");
        System.out.println(" 8. Calcular la media aritmetica de 'n' numeros");
        System.out.println(" 9. Desplegar la tabla del 7");
        System.out.println("10. Calcular el volumen de una esfera");
        System.out.println("11. Desplegar tabla de multiplicar ( 1 al 10 )");
        System.out.println("12. Mostrar la edad a partir del año de nacimiento");
        System.out.println("13. Mostrar si es mayor de edad o no partir del año de nacimiento");
        System.out.println("14. Sumatoria a partir de dos numeros dados");
        System.out.println("15. Leer numeros pares");
        System.out.println("16. Leer tres numeros y decir cual es el menor");
        System.out.println("17. Desplegar numeros del 1 al 100 y del 100 al 1 simultaneamente");
        System.out.println("18. Suma, Resta, Multiplicacion y Division");
        System.out.println("19. Recibir DD/MM/AA y mostrar fecha en formato largo");
        System.out.println(" 0. Terminar");
        System.out.println("-----------------------------------");
        System.out.print("Teclea el numero de la opcion que desees: ");
        iOpcn = Integer.parseInt( br.readLine() );
        System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
        System.out.println("\n*----------------------------------------------*");

        switch ( iOpcn ){
          case 1: // Calcular el area de un triangulo
            System.out.println("*      CALCULO DEL AREA DE UN TRIANGULO        *");
            System.out.println("*----------------------------------------------*");
            System.out.print("Valor de la base: ");
            d = new Double( br.readLine() );
            dNum1 = d.doubleValue();
            System.out.print("Valor de la altura: ");
            d = new Double( br.readLine() );
            dNum2 = d.doubleValue();
            System.out.println("El area del triangulo es: " +
              ( ( dNum1 * dNum2 ) / 2 ) );
            break;
          case 2: // Calcular el area de un trapecio
            System.out.println("*      CALCULO DEL AREA DE UN TRAPECIO         *");
            System.out.println("*----------------------------------------------*");
            System.out.print("Valor de la base mayor: ");
            d = new Double( br.readLine() );
            dNum1 = d.doubleValue();
            System.out.print("Valor de la base menor: ");
            d = new Double( br.readLine() );
            dNum2 = d.doubleValue();
            System.out.print("Valor de la altura: ");
            d = new Double( br.readLine() );
            dNum3 = d.doubleValue();
            System.out.println("El area del trapecio es: " +
              ( ( ( dNum1 + dNum2 ) * dNum3 ) / 2 ) );
            break;
          case 3: // Decir si un numero es par o impar
            System.out.println("*      DECIR SI UN NUMERO ES PAR O IMPAR       *");
            System.out.println("*----------------------------------------------*");
            System.out.print("Teclea un numero: ");
            d = new Double( br.readLine() );
            dNum1 = d.doubleValue();
            if ( ( ( dNum1 < 0 ) ? dNum1 * -1 : dNum1  ) % 2 == 1 )
              System.out.println("El numero " + dNum1 + " es impar" );
            else
              System.out.println("El numero " + dNum1 + " es par" );
            break;
          case 4: // Obtener el valor absoluto de un numero
            System.out.println("*         VALOR ABSOLUTO DE UN NUMERO          *");
            System.out.println("*----------------------------------------------*");
            System.out.print("Teclea un numero: ");
            d = new Double( br.readLine() );
            dNum1 = d.doubleValue();
            dNum2 = ( dNum1 < 1 ) ? dNum1 * -1 : dNum1;
            System.out.println("El valor absoluto de " + dNum1 + " es " +
              dNum2 );
            break;
          case 5: // Convertir de grados centigrados a grados kelvin
            System.out.println("*  CONVERSION DE GRADOS CENTRIGRADOS A KELVIN  *");
            System.out.println("*----------------------------------------------*");
            System.out.print("Teclea el valor en grados centigrados: ");
            d = new Double( br.readLine() );
            dNum1 = d.doubleValue();
            System.out.println( dNum1 + " grados Centigrados equivalen a " +
              ( dNum1 + 273 ) + " grados Kelvin" );
            break;
          case 6: // Convertir de grados centigrados a grados farenheit
            System.out.println("*CONVERSION DE GRADOS CENTRIGRADOS A FARENHEIT *");
            System.out.println("*----------------------------------------------*");
            System.out.print("Teclea el valor en grados centigrados: ");
            d = new Double( br.readLine() );
            dNum1 = d.doubleValue();
            System.out.println( dNum1 + " grados Centigrados equivalen a " +
              ( ( dNum1 * 1.8 ) + 32 ) + " grados Farenheit" );
            break;
          case 7: // Calcular la sumatoria de 'n' numeros
            System.out.println("*     CALCULO DE LA SUMATORIA DE n NUMEROS     *");
            System.out.println("*----------------------------------------------*");
            System.out.print("Teclea un numero entero: ");
            iNum = Integer.parseInt( br.readLine() );
            if ( iNum < 1 ){
              System.out.println( "Valor invalido!" );
              break;
              }
            System.out.print( "La sumatoria de 1 a " + iNum + " es: " );
            for ( iRes = 0 ; iNum > 0 ; iRes += iNum-- );
            System.out.println( iRes );
            break;
          case 8: // Calcular la media aritmetica de 'n' numeros
            System.out.println("* CALCULO DE LA MEDIA ARITMETICA DE n NUMEROS  *");
            System.out.println("*----------------------------------------------*");
            System.out.print("Teclea un numero entero positivo: ");
            iNum = Integer.parseInt( br.readLine() );
            if ( iNum < 1 ){
              System.out.println( "Valor invalido!" );
              break;
              }
            iCont = iNum;
            System.out.print( "La media artimetica de la suma de 1 a " + iNum + " es: " );
            for ( iRes = 0 ; iCont > 0 ; iRes += iCont-- );
            d = new Double( iRes );
            dNum1 = d.doubleValue();
            d = new Double( iNum );
            dNum2 = d.doubleValue();
            System.out.println( dNum1 / dNum2 );
            break;
          case 9: // Calcular la media aritmetica de 'n' numeros
            System.out.println("*          DESPLEGAR LA TABLA DEL 7            *");
            System.out.println("*----------------------------------------------*");
            for ( iCont = 1 ; iCont <= 10 ; iCont++ )
              System.out.println( "7 * " + iCont + " = " + ( 7 * iCont ) );
            break;
          case 10: // Calcular el area de una esfera ( 3 * PI * r^3 / 4 )
            System.out.println("*      CALCULAR EL VOLUMEN DE UNA ESFERA       *");
            System.out.println("*----------------------------------------------*");
            System.out.print("Teclea el valor del radio: ");
            d = new Double( br.readLine() );
            dNum1 = d.doubleValue();
            if ( dNum1 <= 0 ){
              System.out.println( "El radio no puede ser igual o menor a cero!" );
              break;
              }
            System.out.println("El area de la esfera es: " +
              ( 3 * 3.14159 * Math.pow( dNum1 , 3 ) / 4 ) );
            break;
          case 11: // Desplegar la tabla de multiplicar de un numero entre 1 y 10
            System.out.println("* DESPLEGAR LA TABLA DE UN NUMERO ENTRE 1 y 10 *");
            System.out.println("*----------------------------------------------*");
            System.out.print("Teclea un numero entre 1 y 10: ");
            iNum = Integer.parseInt( br.readLine() );
            if ( iNum < 1 || iNum > 10 ){
              System.out.println( "Valor invalido!" );
              break;
              }
            for ( iCont = 1 ; iCont <= 10 ; iCont++ )
              System.out.println( iNum + " * " + iCont + " = " + ( iNum * iCont ) );
            break;
          case 12: // Desplegar la edad a partir del a¤o de nacimiento
            System.out.println("* DESPLEGAR EDAD A PARTIR DEL AÑO DE NACIMIENTO*");
            System.out.println("*----------------------------------------------*");
            System.out.print("Teclea el a¤o de nacimiento: ");
            iNum = Integer.parseInt( br.readLine() );
            if ( iNum < 1900 )
              System.out.println( "Eres un milagro de la naturaleza!!! tienes " +
                ( 2003 - iNum ) + " a¤os!" );
            else
                System.out.println( "Tienes " + ( 2003 - iNum ) + " a¤os" );
            break;
          case 13: // Desplegar si es mayor edad a partir del año de nacimiento
            System.out.println("*  DESPLEGAR SI ES MAYOR DE EDAD A PARTIR DEL  *");
            System.out.println("*            AÑO DE NACIMIENTO                  *");
            System.out.println("*----------------------------------------------*");
            System.out.print("Teclea el a¤o de nacimiento: ");
            iNum = Integer.parseInt( br.readLine() );
            if ( iNum < 1900 )
              System.out.println( "Eres un milagro de la naturaleza!!! tienes " +
                ( 2003 - iNum ) + " a¤os y por lo tanto eres mayor de edad!" );
            else
              System.out.println( "Tienes " + ( 2003 - iNum ) + " a¤os y " +
                ( ( ( 2003 - iNum ) < 18 ) ? "no " : "" ) + "son suficientes para la mayoria de edad." );
            break;
          case 14: // Desplegar la edad a partir del a¤o de nacimiento
            System.out.println("* DESPLEGAR SUMATORIA A PARTIR DE DOS NUMEROS  *");
            System.out.println("*----------------------------------------------*");
            System.out.print("Teclea un numero entero: ");
            iNum = Integer.parseInt( br.readLine() );
            System.out.print("Teclea otro numero entero mayor a " + iNum + ": ");
            iNum2 = Integer.parseInt( br.readLine() );
            if ( iNum2 <= iNum ){
              System.out.println( "Segundo numero invalido!" );
              break;
              }
            iRes = 0;
            for ( iCont = iNum ; iCont <= iNum2 ; iRes += iCont++ );
            System.out.println( "La sumatoria de " + iNum + " a " + iNum2 +
              " es " + iRes );
            break;
          case 15: // Recibir numeros pares hasta que se presione un impar
            System.out.println("*LECTURA DE NUMEROS PARES, FIN AL RECIBIR IMPAR*");
            System.out.println("*----------------------------------------------*");
            do{
              System.out.print("Teclea un numero entero par: ");
              iNum = Integer.parseInt( br.readLine() );
              }while( iNum % 2 != 1 );
            break;
          case 16:
            System.out.println("* LECTURA DE TRES NUMEROS Y DECIR CUAL ES MAYOR*");
            System.out.println("*----------------------------------------------*");
            System.out.print("Escribe el primer numero: ");
            d = new Double( br.readLine() );
            dNum1 = d.doubleValue();
            System.out.print("Escribe el segundo numero: ");
            d = new Double( br.readLine() );
            dNum2 = d.doubleValue();
            System.out.print("Escribe el tercer numero: ");
            d = new Double( br.readLine() );
            dNum3 = d.doubleValue();
            if ( dNum1 == dNum2 && dNum2 == dNum3 ){
              System.out.println("Todos los numeros son iguales");
              break;
              }
            if ( dNum1 > dNum2 && dNum1 > dNum3 )
              System.out.print ( "El primer numero" );
            if ( dNum2 > dNum1 && dNum2 > dNum3 )
              System.out.print ( "El segundo numero" );
            if ( dNum3 > dNum1 && dNum3 > dNum2 )
              System.out.print ( "El tercer numero" );
            System.out.println( " es el mayor" );
            break;
          case 17:
            System.out.println("* DESPLEGAR DEL 1 AL 100 Y DEL 100 AL 1 SIMULT.*");
            System.out.println("*----------------------------------------------*");
            for ( iNum = 1 ; iNum <= 100 ; iNum++ ){
              System.out.println( iNum + "   " + ( 100 - ( iNum - 1 ) ) );
              if( iNum == 20 || iNum == 40 || iNum == 60 || iNum == 80 ){
                System.out.println("Presiona Enter para continuar...");
                br.readLine();
                }
              }
            break;
          case 18:
            Operaciones();
            break;
          case 19:
            System.out.println("* DESPLEGAR FECHA EN FORMATO LARGO DE DD/MM/AA *");
         System.out.println("*----------------------------------------------*");
            System.out.print("Escribe los dias (01-31): ");
            iDD = Integer.parseInt( br.readLine() );
            System.out.print("Escribe el mes (01-12): ");
            iMM = Integer.parseInt( br.readLine() );
            System.out.print("Escribe el a¤o (0000-9999): ");
            iAAAA = Integer.parseInt( br.readLine() );
            System.out.print( iDD + " de" );
            switch( iMM ){
              case 1:
                System.out.print( " enero " );
                break;
              case 2:
                System.out.print( " febrero " );
                break;
              case 3:
                System.out.print( " marzo " );
                break;
              case 4:
                System.out.print( " abril " );
                break;
              case 5:
                System.out.print( " mayo " );
                break;
              case 6:
                System.out.print( " junio " );
                break;
              case 7:
                System.out.print( " julio " );
                break;
              case 8:
                System.out.print( " agosto " );
                break;
              case 9:
                System.out.print( " septiembre " );
                break;
              case 10:
                System.out.print( " octubre " );
                break;
              case 11:
                System.out.print( " noviembre " );
                break;
              case 12:
                System.out.print( " diciembre " );
                break;
              }
            System.out.println( "de " + iAAAA );
            break;
          case 0:
            System.out.println("*----------------------------------------*");
            System.out.println("* Gracias por utilizar este programa! :) *");
            System.out.println("*----------------------------------------*");
            System.out.println("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");
            return;
          default:
            System.out.println("Opcion no valida...");
            break;
          } // fin del switch
        System.out.println("*----------------------------------------------*\n\n\n\n");
        System.out.println("Presiona Enter para continuar...");
        br.readLine();
        System.out.println("*----------------------------------------------*\n\n\n\n");
        } // fin del try
      catch( Exception ex ){
        System.out.println("\n\n\n");
        System.out.println( "--o--o--o--o--o--o--o--o--o--");
        System.out.println( "- Error! Numero incorrecto  -");
        System.out.println( "--o--o-A-o--o--o--o--o--o--o--");
        System.out.println("\n\n\n");
        } // fin del catch
      }while( iOpcn != 0 );
    } // fin de main

  public static void Operaciones(){
    InputStreamReader isr;
    isr = new InputStreamReader(System.in);
    BufferedReader br;
    br = new BufferedReader(isr);
    String sNum;
    Double d;
    int iOpcn;
    double iNum1, iNum2;
    iOpcn = -1;
    do{
      try{
        System.out.println("1. Suma");
        System.out.println("2. Resta");
        System.out.println("3. Multiplicacion");
        System.out.println("4. Division");
        System.out.println("0. Terminar\n");
        System.out.print("Teclea el numero de la opcion que desees: ");
        iOpcn = Integer.parseInt( br.readLine() );

        if ( iOpcn > 0 && iOpcn < 5 ){
          System.out.print("Escribe el primer numero: ");
          d = new Double( br.readLine() );
          iNum1 = d.doubleValue();
          System.out.print("Escribe el segundo numero: ");
          d = new Double( br.readLine() );
          iNum2 = d.doubleValue();
          System.out.println("\n");
          if ( iOpcn == 1 ){ // Suma...
            System.out.println("La suma de "+iNum1+" + "+iNum2+" es: "+(iNum1+iNum2)+"\n");
            }
          if ( iOpcn == 2 ){ // Resta...
            System.out.println("La resta de "+iNum1+" - "+iNum2+" es: "+(iNum1-iNum2)+"\n");
            }
          if ( iOpcn == 3 ){ // Multiplicacion...
            System.out.println("La multiplicacion de "+iNum1+" * "+iNum2+" es: "+(iNum1*iNum2)+"\n");
            }
          if ( iOpcn == 4 ){ // Division...
            if ( iNum2 == 0 )
              System.out.println("La division no se puede realizar, segundo numero igual a cero\n");
            else
              System.out.println("La division de "+iNum1+" / "+iNum2+" es: "+(iNum1/iNum2)+"\n");
            }
          }
        } // fin del try
      catch( Exception ex ){
        System.out.println( "--o--o--o--o--o--o--o--o--o--");
        System.out.println( "- Error! Numero incorrecto  -");
        System.out.println( "--o--o--o--o--o--o--o--o--o--");
        } // fin del catch
      }while( iOpcn != 0 );
    } // fin de main

  } // fin de la clase CurMat
En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Equipo para desarrollar un programa!
Programación General
dnsdirm 10 767 Último mensaje 10 Julio 2011, 06:29
por Leo Gutiérrez.
Ayuda para desarrollar una Aplicación Movil de la universidad
Android
jose_e 1 984 Último mensaje 22 Diciembre 2011, 23:59
por Graphixx
Troyano: desarrollar servidor.
Análisis y Diseño de Malware
kiriost 0 254 Último mensaje 22 Marzo 2012, 03:26
por kiriost
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines