Dividir dos números con Java

10/Jun/2010 Java , , , , 24 Comentarios
Programación en Java

Dentro del grupo de ejemplos básicos y siendo otro que nos le pide mucha gente que empieza con la programación en Java, hoy vamos a explicar como hacer un programa que nos ayude a dividir dos números. (Discúlpenme los expertos).

Lo primero será definir las variables. En el artículo sobre Sumar dos números con Java veíamos que las variables eran de tipo int. Pero en el caso de la división hay que tener cuidado, ya que el resultado de una división puede dar lugar a un número con decimales. Por ejemplo:

9/2 = 4.5

Es por ello que vamos a utilizar tipos float para los números:

float numero1 = 0;
float numero2 = 0;
float resultado;

Una vez definidas las variables pasaremos a solicitar los números al usuario apoyándonos en un objeto Scanner. Instanciamos el Scanner, con la entrada del sistema (System.in) como parámetro:

Scanner reader = new Scanner(System.in);

Ahora pasamos a leer los números mediante el método .nextFloat. El cual leerá de la consola el dato y lo almacenará en nuestras variables:

System.out.println("Introduce el primer número:");			
numero1 = reader.nextFloat();
		
System.out.println("Introduce el segundo número:");
numero2 = reader.nextFloat();

Ya solo nos quedará ejecutar la división y mostrarla en la pantalla.

resultado = numero1/numero2;
System.out.println("La división es " + numero1 + " / " + numero2 + " = " + resultado);

Si están aprendiendo Java, es un buen ejemplo para empezar. Codificarlo, compilarlo y probarlo. A ver que tal.

Vídeos sobre Java Básico


24 comentarios en “Dividir dos números con Java”

Víctor Cuervo

Keylin

Tengo una pregunta eetaba intententando hacer un programa pero no puedo hacerlo me podrian ayudarme?👏👏

Realizar un programa que pida  dos numeros enteros(dividiendo divisor)  y que calcule su division escribiendo si la division es exacta ono.  Se debera mostrar el cociente y el residuo de dicha division.

Víctor Cuervo

Manuel

Hola tengo un problema, se trata de suma sucesivas, el problema esta en la variable «mudi»: la operación me da 0 y no hay cambio al resultado final.

package ejercicios;
import java.util.Scanner;
public class Ejercicios {
public static void main(String[] args) {
Scanner numer=new Scanner(System.in);
System.out.println(«Realizar S=1/2+3/4+5/6+7/8+….+((2*n-1)/(2*n))»);
int n;
double cont=-1, cont2=0 , suma=0, divi, mudi, result;
System.out.print(«Ingrese un número: «);
n=numer.nextInt();
while(cont<7 && cont2<8)
{
cont=cont+2;
cont2=cont2+2;
divi=cont/cont2;
suma=suma+divi;
}
mudi = (2*(n-1))/(2*n);
System.out.println(mudi);
result=suma+mudi;
System.out.println("El resultado de la operación es: "+result);
}
}

Víctor Cuervo

Omar Vilchez

Si no me equivoco, cuando estableces que «mudi = (2*(n-1))/(2*n);» estás diciéndole a la java que el resultado de un cálculo con valores integer se guarde en mundo, es decir que en el cálculo el resultado se trata como un (int), y luego se guarda como un (double), por lo que al calcular primero no se pueden guardar decimales (ya que son integer).
Una posible solución sería transformar la variable «int n» en un Double, guardando una segunda variable que sustituya a n:
{
(…)
int n;
double cont=-1, cont2=0 , suma=0, divi, mudi, result;
double n_2; //variable que actuará como n
System.out.print(«Ingrese un número: «);
n=numer.nextInt();
n_2 = n; //se inicializa el N decimal
(…)
mudi = (2 * (n_2 – 1)) / (n_2 2 * n);
System.out.println(mudi);
}
Ahora, como el cálculo de «mudi» (Double) de realiza desde la variable decimal «n_2» (Double), entonces el cálculo puede albergar decimales, que luego guarda en una variable decimal «mudi».

Espero que te sea de ayuda ;)

Víctor Cuervo

Marco Antonio Herbas Patana

Una duda Victor como haria que pueda dividir 2 numeros, mostrar el resultado y el residuo pero sin utilizar los signos % y /. Ese ejercicio me dio, anunciado:
«Introducir dos números enteros positivos, luego asignar a una variable llamada
RESULTADO el resultado de la división entera del mayor sobre el menor, y en la
variable RESIDUO colocar el residuo de la división anteriormente mencionada.
Luego desplegar RESULTADO y RESIDUO. No se debe usar los operadores % y /.»

Víctor Cuervo

Cesar

package com.tutorialspoint;

import java.math.*;
import java.lang.*;

public class BigDecimalDemo {

public static void main(String[] args) {

// create 3 BigDecimal objects
BigDecimal bg1, bg2, bg3;

bg1 = new BigDecimal(«16»);
bg2 = new BigDecimal(«3»);

// divide bg1 with bg2 with 3 scale
bg3 = bg1.divide(bg2, 3, RoundingMode.CEILING);

String str = «Division result is » +bg3;

// print bg3 value
System.out.println( str );
}
}

Víctor Cuervo

Facundo

Hola, hay alguna forma para que las variables de tipo entero te devuelvan un numero en decimal?

este seria el ejercicio que debo hacer, pero no se como hacer para que me retorne un numero double.

Pedir 2 números enteros al usuario y mostrar el número (double) que se
encuentra en a igual distancia de ambos. (Ejemplo, si se ingresan 10 y 20
debe mostrar 15). Crear para ello el método igualDistancia.

Víctor Cuervo

Víctor Cuervo

Puedes hacer un cast de una variable.

int numero =3;
System.out.println((double)numero);

Saludos.

Víctor Cuervo

Aby

quiero dividir un numero menor entre uno mayor, como por ejemplo 20/100, ya lo intente con el método que explicaste pero no me da el resultado deseado

Víctor Cuervo

Víctor Cuervo

¿Qué error te da? Debería de funcionar. Puedes poner tu código aquí o en el foro de Java http://dudasprogramacion.com/java

Saludos.

Víctor Cuervo

adan

public class divide {

public static void main(String args ){

int numeroUno =55;
int numeroDos=5;
int resultado=0;

resultado=numeroUno/numeroDos;

System.out.println(«La división es » + numeroUno + » / » + numeroDos + » = » + resultado);
//System.out.println(«este es el resultado:»+resultado);

}

}

el valor es : 7

Víctor Cuervo

Víctor Cuervo

Buenas,

Al utilizar números enteros te saldrá redondeado y por lo tanto 5/55 saldrá 0. Lo que tienes que hacer es utilizar decimales. Cambia los tipos de datos a float y solucionado.

Saludos.

Víctor Cuervo

yo

En serio?
esto es para paletos

yo crei que ibas a explicar los distintos metodos de divisiones :

a/b
a\b
a%b
ETC

Víctor Cuervo

Víctor Cuervo

Bueno,

Es una forma de empezar… hay otros artículos en la página que explica el resto de divisiones. Piensa que hay gente que está empezando y necesita información muy básica.

Saludos.

Víctor Cuervo

Luis Duarte

Buenas Victor, tengo una tarea de hacer una funcion que retorne la suma de los numeros internos de una funcion sin utilizar cadenas, como la puedo hacer?

Víctor Cuervo

Víctor Cuervo

Luis, mira a ver si lo que explicamos en el ejemplo de Sumar dos números en Java te es de ayuda. http://lineadecodigo.com/java/sumar-dos-numeros-con-java/

Realmente lo que tienes es que hacer sería algo como:

function sumar(int numero1,int numero2) {
  return numero1+numero2;
}

Espero que te vaya orientando y no dudes el exponer cualquier otra duda.

Saludos.

Víctor Cuervo

Fabian

y con el resultado en fracción y simplificado, como sería??

Víctor Cuervo

Víctor Cuervo

¿Qué quieres decir con fracción?

Víctor Cuervo

Astrid

Muchas, muchas gracias Carlos, llevaba semanas devanandome los sesos, recorrì toda la web y nada me funcionaba,tenia un problema igual que el de Sandra Isabel pero gracias a ti ya lo solucione, de nuevo mil y mil gracias. :)

Víctor Cuervo

Carlos

SOlo debes de hacer esto, claro esta que el ejemplo no esta muy detallado

double x = 1.0;
double y = 2.0;

double z = x / y;//0.5

Víctor Cuervo

Andres Quintana

Pongan En Codigo Completo porfa :D»

Víctor Cuervo

Víctor Cuervo

Andres, lo tienes disponible en https://github.com/victorcuervo/lineadecodigo_java/blob/master/src/com/lineadecodigo/java/basico/DividirNumeros.java

Además en https://github.com/victorcuervo/lineadecodigo_java/ puedes encontrar todos los ejemplos de los artículos del lenguaje Java que hemos escrito.

Espero que sea de tu ayuda.

Saludos.

Víctor Cuervo

Luis

Por que tus variables deben de ser flotantes las que son 1 y 2

Víctor Cuervo

Sandra Isabel Villafuerte Sanchez

hola
tengo una duda

¿por que si le pongo 1 / 2 me sale 0.0 y no 0.5?

Gracias

Saludos

Víctor Cuervo

Víctor Cuervo

Sandra, ten cuidado, las variables tienen que ser de tipo decimal ya sean float o double. Si utilizas variables de tipo entero (int, long, short) siempre te lo redondeará a un entero. Es por eso que 1/2 te sale 0.

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.