Foro de elhacker.net

Programación => Java => Mensaje iniciado por: Kamikaze456 en 5 Septiembre 2019, 03:25 am



Título: Buenos dias / tardes o noches ,Ayuda Problema al dividir en java(netbeans)
Publicado por: Kamikaze456 en 5 Septiembre 2019, 03:25 am
Buenas a todos mi problema es el siguiente al dividir 0,5 es decir decimales 0,5/0 me sale es infinity me preguntaba como puedo personalizar el mensaje ya que seria el unico que me falta por favor

i
Código
  1. import java.util.InputMismatchException;
  2. import java.util.Scanner;
  3.  
  4. public class AppDivision {
  5.  
  6.    public static void main(String[] args) {
  7.        Clases.Operacion obOperacion = new Clases.Operacion();
  8.        Scanner objSc = new Scanner(System.in);
  9.  
  10.        System.out.println("PROGRAMA PARA DIVIDIR");
  11.        System.out.println();
  12.        try {
  13.            double doNum1, doNum2 = 0, doDivision;
  14.            System.out.println("Cual es el primer numero");
  15.            doNum1 = objSc.nextDouble();
  16.            System.out.println("cual es el numero 2");
  17.            doNum2 = objSc.nextDouble();
  18.  
  19.            doDivision = obOperacion.OpeDivision(doNum1, doNum2);
  20.  
  21.            System.out.println("la division es" + doDivision);
  22.        } catch (ArithmeticException ae) {
  23.            System.out.println("0 NO SE PUEDE USAR");
  24.        } catch (InputMismatchException ime){
  25.            System.out.println("Solamente se puede usar Numeros Enteros");
  26.        }
  27.    }
  28. }
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  
  35.  
  36.  
  37. y este es de la operacion :
  38. public class Operacion {
  39.   public double OpeDivision (double doNum1 ,double doNum2){
  40.   double doDivision =(double)doNum1 / doNum2;
  41.   return doDivision;
  42.   }
  43. }
  44.  


Título: Re: Buenos dias / tardes o noches ,Ayuda Problema al dividir en java(netbeans)
Publicado por: MetaNoia en 5 Septiembre 2019, 09:42 am
Muy buenas, podrias personalizar la salida mediante un bloque if/else, asi en caso de que el divisor sea 0 muestres que es infinito y en caso contrario que te muestre el resultado.
Ya nos comentaras si te ha sido util.
Un saludo.
Código:
import java.util.InputMismatchException;
import java.util.Scanner;
 
public class AppDivision {
 
    public static void main(String[] args) {
        Operacion obOperacion = new Operacion();
        Scanner objSc = new Scanner(System.in);
 
        System.out.println("PROGRAMA PARA DIVIDIR");
        System.out.println();
        try {
            double doNum1, doNum2 = 0, doDivision;
            System.out.println("Cual es el primer numero");
            doNum1 = objSc.nextDouble();
            System.out.println("cual es el numero 2");
            doNum2 = objSc.nextDouble();
            doDivision = obOperacion.OpeDivision(doNum1, doNum2);
            if(doNum2 == 0)
            {
                System.out.println("La division es infinito");
            }
            else
            {
             System.out.println("la division es " + doDivision);   
            }                         
        } catch (ArithmeticException ae) {
            System.out.println("0 NO SE PUEDE USAR");
        } catch (InputMismatchException ime){
            System.out.println("Solamente se puede usar Numeros Enteros");
        }
    }
}
 
 
 
 
 
 
 
 
class Operacion
{
   public double OpeDivision (double doNum1 ,double doNum2){
   double doDivision =(double)doNum1 / doNum2;
   return doDivision;
   }
}