Octubre 17, 2017, 12:03:49 am
Visitante



Autor Tema:  Como hacer Calculadora Basica en Java :3 [Tutorial]  (Leído 3279 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Febrero 10, 2015, 05:52:51 am

wililitorta




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Soy wililitorta :p
  • Actividad

  • 0%
  • Logros

Más información

Hey :v aqui willy de nuevo y hoy les voy a enseñar a hacer una sensualisima calculadora básica y sencilla en Java, SI, EN JAVA.

Ok antes que nada te dejare que necesitas para realizar todo lo que vamos a hacer :3, no te complicare la vida y no te pedire descargar un IDE (Programa que facilita la programacion) ya que son complejos de explicar (y no tengo ninguno descargado :P)

1: La JDK mas reciente (JDK= Java Development Kit/ Kit de Desarrollo de Java) Link:http://www.oracle.com/technetwork/es/java/javase/downloads/jdk7-downloads-1880260.html (Sencillo de descargar :v)
2: Un simple editor de texto (Notepad de Windows, Notepad++)
3: Ganas de hacer esto
4: Un buen rato de tu tiempo para saber que vas a hacer
5: Paciencia
6: Agua y comida para el cámino :v

Vaaaale, suponiendo que ya tienes todo lo necesario para comenzar vamos a hacerlo!
ADVERTENCIA: VAMOS A UTILIZAR SÍMBOLO DE SISTEMA PARA COMPILAR ok? :3

Abrimos el editor de editor de texto (definitivamente te recomiendo Notepad++ ya que te indica el código con colorcitos :3)

y vamos a empezar con algo basico que es "mandar a llamar" las librerias que vamos a usar, que solo seran 2 (probablemente solo usemos 1 :P)

y escribimos:
Código: [Seleccionar]
import java.util.Scanner;
import java.io.*;

Excelente, ya has indicado que vamos a utilizar esas 2 librerias en este programa, esto que vamos a realizar se llama "Clase" y es parte principal o secundaria dependiendo de que vas a realizar, bueno ahora tenemos que indicar que esta Clase es la principal y sobre esta vamos a desarrollar TOOOODO el trabajo, ademas que vamos a darle un nombre a esta Clase:

Código: [Seleccionar]
import java.util.Scanner;
import java.io.*;

public class Calculadora{

public static void main(String args[]){

}
}

como puedes ver (si sabes inglés básico) esta clase es la clase principal (dice "Main" duh, obvio), no explicare toda la sintaxis de esta linea de código porque sinceramente no me acuerdo :v, le puse de nombre a la Clase "Calculadora" por obvias razones, pero puedes ponerle el nombre que te plazca.

vale, puedes ver que coloqué estos simbolos: {}, dentro de ellos, vamos a colocar El Código :B

Ahora vamos a crear nuestras variables, "Cómo?" vas a decir, ahora te explico ;) primero debo comentarte que hay diferentes tipos de variable:

Integer: Variable de tipo entero, la cual puede tomar el valor de cualquier numero real (dicese desde -infinito hasta +infinito)
Double: Variable que toma valores enteros Y decimales, si no mal recuerdo toma valor de hasta 4 decimales e.j: 3.1415
Boolean: Variable que consta de los valores "True" y "False" comunmente se utiliza para algo llamado "Flags" que...si te interesa buscalo en google, porque no vengo a enseñarte eso :v
String:Variable que toma valores de tipo Alfanumérico, osea que acepta letras, números y hasta símbolos.

Ok, ahora vamos a declarar variables, usaremos 6, 3 Enteras para suma, resta, resultado; y 3 decimales para multiplicación, división y resultado.
Quedaria mas o menos asi:
Código: [Seleccionar]
import java.util.Scanner;
import java.io.*;

public class Calculadora{

public static void main(String args[]){

int num1;
int num2;
int resInt;
double num3;
double num4;
double resDob;
}
}

Perfesto, ya creamos nuestras variables :DDDD bien hecho muchachon :P, ahora vamos a crear un Objeto, "que coño es eso?" diras, un objeto es una funcion con la que vamos a implementar datos de otra clase y/o libreria en ESTA clase, crearemos un objeto para la libreria Scanner, que has estado viendo pero no sabes que es aún.
Scanner es la libreria de Java para leer y usar datos introducidos por el usuario, quedaria algo como lo siguiente:
Código: [Seleccionar]
import java.util.Scanner;
import java.io.*;

public class Calculadora{

public static void main(String args[]){

int num1;
int num2;
int resInt;
double num3;
double num4;
double resDob;

Scanner dato = new Scanner(System.in);
}
}

Te explicare la sintaxis:
Scanner = Tipo de objeto que vamos a crear
dato = nombre que le vamos a dar al objeto
= new = por mera lógica es que estas indicando que es un nuevo objeto :v
Scanner() = Clase de donde vas a tomar las caracteristicas que va a tomar tu objeto.
system.in= indica que es una nueva entrada de datos
vale, ahora vamos a crear un mini menú, y aqui voy a usar la UNICA funcion de programacion "compleja" que va a requerir explicacion grande, a lo que me refiero es a la funcion CASE. El CASE es una funcion de codigo que sirve para establecer comparaciones absolutas cuando el dato leido es IGUAL a lo que tu colocas como opcion del CASE. y con esto vamos a hacer un menú para acceder a cada parte de nuestra calculadora, ya que si no....Cómo? :P

Vamos a crear otra variable para esta funcion, le pondremos de nombre funcion.
Te dejo el código entero de la calculadora xD, si hay alguna duda sobre para que sirve cada cosa y que es no dudes en comentarmelo o mandarme un mensaje privado.

System.out.println sirve para mostrar código en lo que vamos a utilizar llamado Consola que es donde se va a desarrollar nuestro programa. Que para Java se llama Java Virtual Machine, que supongo no debo explicarte que significa

Código: [Seleccionar]
import java.util.Scanner;
import java.io.*;

public class Calculadora{

public static void main(String args[]){

int funcion;
int num1;
int num2;
int resInt;
double num3;
double num4;
double resDob;

Scanner dato = new Scanner(System.in);

System.out.println ("Seleccione la operacion a elegir 1.Suma 2.Resta 3.Multiplicacion 4.Division");
funcion=dat.nextInt();
switch (funcion){
Case 1:
System.out.println("Introduce el primer número");
num1=dato.next();
System.out.println("Introduce el segundo número");
num2=dato.next();
resInt=num1+num2;
System.out.println("El resultado de la suma es: "+resInt);
break;

Case 2:
System.out.println("Introduce el primer número");
num1=dato.next();
System.out.println("Introduce el segundo número");
num2=dato.next();
resInt=num1-num2;
System.out.println("El resultado de la resta es: "+resInt);
break;

Case:3
System.out.println("Introduce el primer número");
num3=dato.next();
System.out.println("Introduce el segundo número");
num4=dato.next();
resDob=num1*num2;
System.out.println("El resultado de la multiplicación es: "+resDob);
break;

Case 4:
System.out.println("Introduce el primer número");
num3=dato.next();
System.out.println("Introduce el segundo número");
num4=dato.next();
resDob=num1/num2;
System.out.println("El resultado de la división es: "+resDob);
break;


}
}
}

ok, explicare que es cada cosa que escribi y no explique al inicio:
break = sirve para indicar que ahi es donde va a terminar nuestro programa y se va a cerrar la Consola.
"dato.next()" = indica que la variable que asignamos va a tomar el valor que el usuario introduzca en nuestro objeto de Scanner, es importante que coloques los parentesis, ya que asi indicas que es una función del objeto instanciado.
switch = en esta funcion vas a indicar sobre que variable va a girar en torno el Case, en este caso "funcion".

Guarda tu código en escritorio (para que vayas junto conmigo en el tutorial) y nombremoslo "Calculadora.java" y le puchas en guardar :333

Bien, ahora que ya esta el código (es basico, podria enseñarles a "validarlo" es decir que arroje una alerta de tipo "io.Exception" al momento de introducir un valor erroneo, pero eso es mas dificil y complejo de enseñar), ahora vamos a compilarlo y a correrlo.

Como ya se supone que tienes el JDK, (si no, anda y descargatelo) vamos a abrir CMD/Simbolo de Sistema para compilarlo, osea, construir el programa y ver donde nos equivocamos...o no C:

Ya tienes abierto el CMD (presiona la tecla Windows y la letra R al mismo tiempo y despues escribe cmd y se abrira)

dira algo como:
>kuahflukhrgluhrgliuh Windows (r)
>C:\Users\Tu_Usuario

ahora para acceder al escritorio que es donde guardamos nuestro programa escribiremos "cd Desktop" (sin comillas, porfavor e.e)
y ahora dira algo parecido a esto:

>C:\Users\Tu_Usuario\Desktop

ahora aqui vamos a llamar al compilador de Java por medio de su nombre (como tu madre cuando se enoja y te quiere aventar la chancla), procederemos a escribir:

javac Calculadora.java

y le puchamos enter, si hasta aqui todo va bien no nos deberia marcar error alguno y deberia decir algo como "Done! compiled in no se cuantos segundos" o algo asi, la verdad no lo recuerdo. Si te marca algun error revisa que hayas puesto ; y no:
Excelente, ahora ya esta compilado y listo para ser ejecutado, si vas a tu escritorio veras que se ha creado un archivo "Calculadora.class" que es la version compilada de TU PROPIO PROGRAMA!!! que emocion! :33

ahora vamos a usar ese archivo .class para correr nuestro programa, y vamos a llamar al bastardo de LLABA para que corra nuestro programa y escribiremos lo siguiente:

java Calculadora.class


y le das Enter y tu programa debera de estar ya mostrandose en pantalla!!! OO:

De Nada 7u7.

y creo que no tengo nada mas que agregar, solo que si te gustó el tutorial y quieres uno nuevo de como hacer diferentes cosas, le piques al Wendingo! :3 (haria estos tutoriales en Video pero no tengo computadora potente para grabar :/)
Hasta aqui les dejo el tutorial, cualquier duda no dudes (:v) en preguntarme y yo con gusto y carisma te resolvere tu duda :33

Bai :DDD

Linkback: http://minecraftmin.net/index.php?topic=8310.0
« Última modificación: Febrero 11, 2015, 05:21:42 am por wililitorta »





Respuesta #1 Febrero 10, 2015, 06:14:05 am

DannyRed




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    comandos a la orden /summon DannyRed xD
  • Actividad

  • 0%
  • Logros

Más información

Buen aporte :)
Típico tutorial de secundaria para aprender a aprender cómo utilizar Java, pero así aprendimos todos. Espero y subas algún otro programita para aquellos que no saben mucho sobre Java  > ;D


Respuesta #2 Febrero 10, 2015, 06:59:06 am

wililitorta




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Soy wililitorta :p
  • Actividad

  • 0%
  • Logros

Más información

Buen aporte :)
Típico tutorial de secundaria para aprender a aprender cómo utilizar Java, pero así aprendimos todos. Espero y subas algún otro programita para aquellos que no saben mucho sobre Java  > ;D
Excacto, aunque el profe siempre te explicaba con flojera y de mala gana :'v, puedo subir mas programas, el problema es que no se de que xD subire como hacer uhhh no se a ver que me sale de la cabeza para que gente que no sabe, sepa al menos lo basico de Yaba :B


Respuesta #3 Febrero 10, 2015, 07:40:35 pm

Alfomega




  • Conectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Ingeniero informático
  • Actividad

  • 25%
  • Logros

Más información

Está bien como inicio, aunque yo lo habría hecho de otra forma, primero pediría los tres datos, dato izquierda, signo y dato derecha.
El signo lo guardaría en una variable tipo char (Character) y luego haría un switch sobre el símbolo.
Por otro lado, la sintaxis del switch está mal, es case elemento : y en algunos casos has puesto case : elemento. Lo que me extraña es que pongas llaves en los case, nunca lo había visto así.
Otra cosa, pondría un default al switch con un mensaje que ponga error de signo o algo así.
Por último, usaría algo tipo Eclipse y no un bloc de notas o notepad++, ya que es algo más costoso que un lenguaje de scripting y no necesitas tirar de consola de comandos para compilar y probar.
Como detalle, aunque ahí el break coincide con el final del programa, no es bueno decir que es el final del programa, porque no es en absoluto necesario ponerlo al final de cada programa.
Alfomega






Respuesta #4 Febrero 10, 2015, 11:48:25 pm

khmdev




  • Desconectado

  • *

    • *
    • *
    • *
  • Actividad

  • 0%
  • Logros

Más información

Esta bien el tutorial, pero esta mal la sintaxis, a parte de lo que ha dicho @Alfomega, para recibir enteros se usa dato.nextInt() y doubles dato.nextDouble(). Y en las divisiones y multiplicaciones te has debido confundir y has usado los datos que no querías.
También te recomendaría el uso de try catch para evitar que el usuario introduzca letras en vez de enteros, por ejemplo una función sencillita de este estilo:

Código: [Seleccionar]
public static int getEntero(String peticion,Scanner dato){
int out=0;
boolean fin=false;
while(!fin){
System.out.println(peticion);
try{
String s=dato.next();
out=Integer.valueOf(s);
fin=true;
}catch(Exception e){
System.out.println("Dato introducio erroneo");
}
}
return out;
}

Con Integer.valueOf(); conviertes un String en un int, en el caso que no se pueda saltaría un error y pasaría al código que esta dentro del catch, en este caso: 
Código: [Seleccionar]
System.out.println("Dato introducio erroneo");
Así solo tendrás que cambiar las peticiones de datos de esta forma:
Código: [Seleccionar]
num1=getEntero("Introduce el primer número",dato);
num2=getEntero("Introduce el segundo número",dato);
Pero esto ya sería para asegurarte que funciona bien en todos los casos, NO es OBLIGATORIO. Seria un poco más avanzado, ya que es necesario conocer el funcionamiento de las excepciones. Aunque seria justo el paso siguiente a este tutorial.

Por lo demás esta bien explicado, sigue así :D
Un saludo! 


Respuesta #5 Febrero 11, 2015, 05:14:39 am

wililitorta




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Soy wililitorta :p
  • Actividad

  • 0%
  • Logros

Más información

Esta bien el tutorial, pero esta mal la sintaxis, a parte de lo que ha dicho @Alfomega, para recibir enteros se usa dato.nextInt() y doubles dato.nextDouble(). Y en las divisiones y multiplicaciones te has debido confundir y has usado los datos que no querías.
También te recomendaría el uso de try catch para evitar que el usuario introduzca letras en vez de enteros, por ejemplo una función sencillita de este estilo:

Código: [Seleccionar]
public static int getEntero(String peticion,Scanner dato){
int out=0;
boolean fin=false;
while(!fin){
System.out.println(peticion);
try{
String s=dato.next();
out=Integer.valueOf(s);
fin=true;
}catch(Exception e){
System.out.println("Dato introducio erroneo");
}
}
return out;
}

Con Integer.valueOf(); conviertes un String en un int, en el caso que no se pueda saltaría un error y pasaría al código que esta dentro del catch, en este caso:
Código: [Seleccionar]
System.out.println("Dato introducio erroneo");

Así solo tendrás que cambiar las peticiones de datos de esta forma:
Código: [Seleccionar]
num1=getEntero("Introduce el primer número",dato);
num2=getEntero("Introduce el segundo número",dato);
Pero esto ya sería para asegurarte que funciona bien en todos los casos, NO es OBLIGATORIO. Seria un poco más avanzado, ya que es necesario conocer el funcionamiento de las excepciones. Aunque seria justo el paso siguiente a este tutorial.

Por lo demás esta bien explicado, sigue así :D
Un saludo!

Si leiste todo completo veras porque no use el Try-Catch, es algo "complejo" para la gente que apenas va comenzando, no pienso meterles cosas complejas a gente que apenas y sabe que es programar como tal :/ fuera de ahi, gracias tiene mucho que no toco java y sinceramente no recuerdo muchas cosas al 100% por cierto, el nextInt o nextDouble no es obligatorio, se ve mas bonito el código pero funciona de la misma manera ^^
« Última modificación: Febrero 11, 2015, 05:22:57 am por wililitorta »


Respuesta #6 Febrero 11, 2015, 05:20:28 am

wililitorta




  • Desconectado

  • *

    • *
    • *
    • *
  • Mensaje personal
    Soy wililitorta :p
  • Actividad

  • 0%
  • Logros

Más información

Está bien como inicio, aunque yo lo habría hecho de otra forma, primero pediría los tres datos, dato izquierda, signo y dato derecha.
El signo lo guardaría en una variable tipo char (Character) y luego haría un switch sobre el símbolo.
Por otro lado, la sintaxis del switch está mal, es case elemento : y en algunos casos has puesto case : elemento. Lo que me extraña es que pongas llaves en los case, nunca lo había visto así.
Otra cosa, pondría un default al switch con un mensaje que ponga error de signo o algo así.
Por último, usaría algo tipo Eclipse y no un bloc de notas o notepad++, ya que es algo más costoso que un lenguaje de scripting y no necesitas tirar de consola de comandos para compilar y probar.
Como detalle, aunque ahí el break coincide con el final del programa, no es bueno decir que es el final del programa, porque no es en absoluto necesario ponerlo al final de cada programa.
Veras porque no use un IDE si lees todo, no quiero confundir a la gente y causar lios con botones, clases, que no saben que presionar y tal, simplemente es explicacion de codigo y como funciona, no uso Try y Catch porque es algo mas complejo para alguien que no sabe nada de programacion, gracias por aclarar lo del Case, hace mucho tiempo que no programo en Java, esto me sirvió algo de repaso ^^, yo me dedico mas a encontrar y solucionar bugs de código, y no a hacer el código en si. Pero fuera de todo esto gracias por la aclaracion.
Ademas no quisiera confundir a nadie usando mil y un variables para todo, esto es simple código para novatos, no les voy a poner a hacer un sistema de Altas, Bajas, Cambios y Consultas usando Implements, Extends y anexas, eso se vera mas despuecito (osea cuando tenga tiempo), corregire lo del Case ;) 



Share via delicious Share via digg Share via facebook Share via furl Share via linkedin Share via myspace Share via reddit Share via stumble Share via technorati Share via twitter

xx
[Como programar en Java desde 0] Bloque Java 1.1: Lo necesario

Iniciado por Diego_wwe

2 Respuestas
834 Vistas
Último mensaje Abril 05, 2015, 11:00:21 pm
por Diego_wwe
xx
Como hacer una web html (Texto de al menos 10 parrafos)

Iniciado por rickinmbi

1 Respuestas
45 Vistas
Último mensaje Octubre 02, 2017, 01:27:29 am
por Alfomega
xx
Como hacer tus programas con VISUAL BASIC 2010. [Guía]

Iniciado por SkycageDraw

4 Respuestas
2167 Vistas
Último mensaje Julio 05, 2014, 01:21:15 pm
por metashadow
xx
Gamepads y Java?

Iniciado por roberto1ooo

2 Respuestas
686 Vistas
Último mensaje Enero 31, 2015, 10:49:52 am
por roberto1ooo