Sei sulla pagina 1di 28

EJERCICIOS JAVA RESUELTOS

CӄIGO

class HOLAMUNDO
{
public static void main (String args[])
{
System.out.println("HOLA MUNDO");
}
}

La suma de dos numeros


COIGO
import javax.swing.JOptionPane;
class Suma
{
public static void main (String args [])
{
String a1, b1;
int num1, num2, sum;
a1=JOptionPane.showInputDialog("introduce el #1");
b1=JOptionPane.showInputDialog("introduce el #2");
num1=Integer.parseInt(a1);
num2=Integer.parseInt(b1);
sum=num1+num2;
JOptionPane.showMessageDialog(null,"La suma
de\t"+num1+"+"+num2+"="+
sum);
}
}

Resta de dos numeros

CӄIGO

import javax.swing.JOptionPane;
class Resta
{
public static void main (String args [])
{
String a1, b1;
Double num1, num2, res;
a1=JOptionPane.showInputDialog("introduce el #1");
b1=JOptionPane.showInputDialog("introduce el #2");
num1=Double.parseDouble(a1);
num2=Double.parseDouble(b1);
res=num1-num2;
JOptionPane.showMessageDialog(null,"La resta de\t"+num1+"-
"+num2+"="+
res);
}
}
Crear un programa que muestre el nombre del alumno y el promedio de
cuatro materias asignadas.

CӄIGO

import javax.swing.JOptionPane;
class Promedio;
{
public static void main(String args[]);
{
Strin n1,n2,n3,n4,nom;
Double num1,num2,num3,num4,promedio;
nom=JOptionPane.showInputDialog("INTRODUCE EL NOMBRE DEL
ALUMNO");
n1=JOptionPane.showInputDialog("INGRESA LA CALIFICACION 1");
n2=JOptionPane.showInputDialog("INGRESE LA CALIFICACION 2");
n3=JOptionPane.showInputDialog("INGRESE LA CALIFICACION 3");
n4=JOptionPane.showInputDialog("INGRESE LA CALIFICACION 4");

num1=Double.parseDouble(n1);
num2=Double.parseDouble(n2);
num3=Double.parseDouble(n3);
num4=Double.parseDouble(n4);
promedio=((num1+num2+num3+num4)/4);
JOptionPane.showInputDialog(null,"EL PROMEDIO DE EL
ALUMNO:" +nom+ promedio);
}
}

Programa que muestre el tiempo de vida de un persona. El usuario debe


de ingresar el a񯠥n que se encuentra y el a񯠥n que nacio. Debe mostrar el
tiempo de vida en AяS, MESES, DIAS, HORAS, MINUTOS y SEGUNDOS
xD

CӄIGO

import javax.swing.JOptionPane;
class Vida
{
public static void main(String args[])
{
String b1,c1;
int ac,d,m,a,aa,an,hr,min,seg;
b1=JOptionPane.showInputDialog("enque a񯠥stas");
c1=JOptionPane.showInputDialog("en que a񯠥aciste");
aa=Integer.parseInt(b1);
an=Integer.parseInt(c1);
ac=aa-an;
d=ac*365;
m=ac*12;
hr=d*24;
min=hr*60;
seg=min*60;
JOptionPane.showMessageDialog(null,"tienes:"+ac+"a񯠥cumplidos\n"
+m+"meses\n"+d+"dias\n"+hr+"horas\n"+min+"minutos\n"+seg+"segundos
");

}
}

uy te liaste con las calificaciones y el arreglo..

CÓDIGO
materia<a.length;

Eso no es correcto, ya que solo obtienes el tamaño de la primera posicion,


en todo caso en el segundo for deberias hacer a[materia].length..

Lo de la variable rescol y inclinado sinceramente ni em fije que tratabas de


hacer XD, tengo que irme y lo he corregido más o menos:

CÓDIGO
import javax.swing.*;

public class PromedioCalificaciones


{
public static void main(String args[])
{
int c,m;
m=Integer.parseInt(JOptionPane.showInputDialog("cuantas materias:
"));
c=Integer.parseInt(JOptionPane.showInputDialog("cuantas
calificaciones : "));
int a[][]=new int [m][c];
double prom[]=new double[m];
JTextArea salida=new JTextArea();
for(int materia=0; materia<a.length; materia++)
{
salida.append("\nmateria: " + (materia+1) + "\n");
salida.append("Calificaciónes: ");
for(int calif=0; calif<a[materia].length; calif++)
{
a[materia][calif]=Integer.parseInt(JOptionPane.showInputDialog(
"Introduce el valor de materia: "+(materia+1)+" calif: "+(calif+1)+"."));
prom[materia]+=a[materia][calif];
salida.append(a[materia][calif]+", ");
}
prom[materia]/=c;
salida.append("\n Promedio materia " + (materia+1) + ": " +
prom[materia]+"\n");
}
JOptionPane.showMessageDialog(null,salida);
System.exit(0);

}
}

ÍNDICE Programación
con JAVA.
José Antonio
Díaz-Alejo
Gómez

Programación en Java.

Programación gráfica con Swing. (Ejercicios).

Ejercicio 1.

Realizar un proyecto llamado Conversor, que muestre una interfaz de usuario que nos permita reali
conversión de Euros a Pesetas. El código del evento asociado al botón es el siguiente:

try{
jLabelImporte.setForeground(Color.BLACK);
jLabelImporte.setText(Integer.toString(((int) (Double.parseDouble(jTextFieldImporte.getText(
}
catch (Exception e) {
jLabelImporte.setText("Error");
jLabelImporte.setForeground(Color.RED);
}

Modifica el ejercicio para que a la vez que introducimos la cantidad en euros se escrib

Modifica el código para que el resultado sea un float o double.

Ejercicio 2. Bordes.

Copia el proyecto anterior, llamalo Conversor_2, inserta dos Jpanel distintos, uno para introducir la
para mostrar el resultado. Coloca bordes distintos a los JPanel.
Ejercicio 3. Etiquetas.

Crea un nuevo proyecto llamalo Swing3 e inserta 4 etiquetas como se muestra en la siguiente imag
cambiando sus propiedades.

Ejercicio 4. Botones.

Crea un nuevo proyecto llamalo Swing4 e inserta 6 botones de diferentes aspetos, como se muestr
imagen. Cuando se pulse sobre cada uno de los botones debe aparecer un mensaje indicando que
Ejercicio 5. Grupos de botones.

Modifica el proyecto anterior, añade un panel para mostrar los botones agrupados, añade tres botn
y agrupales, de forma que solo uno de ellos pueda estar seleccionado.

Ejercicio 6. Rangos.

Rangos: Crea un proyecto, llamalo DefColor.java. Incorpora tres componentes jSlider uno para cada
Verde y Azul) con valores comprendidos entre 0 y 255. Añade también un texto (por ejemplo la pa
modifica su propiedad de color dependiendo de los valores de

ATENCIÓN: Tendrás que utilizar una nueva clase llamada Color.

Ejercicio 7. Textos.

Crea un nuevo proyecto, llamalo Textos.java para practicar los distintos componentes de tipo texto,
siguiente interfaz:

Al pulsar en botón inserte el contenido de los tres primeros componentes en el JTextArea.

Ejercicio 8. Listas y cajas.

Implementa un proyecto que corresponda a la imagen siguiente:

 Mostrar un mensaje al seleccionar una opción de jComboBox1


 Mostrar un mensaje al seleccionar una opción de jComboBox2
 Permitir seleccionar más de una opción de jList y mostrar las seleccionadas
 Si se escribe un nuevo Item y pulsamos el botón de Añadir, se añadira en jBomboBox2.
 Si se escribe un item y pulsamos el botón de Borrar y existe, se borrará de jBomboBox2.
Ejercicio 9. Menús.

Realizar un proyecto que muestre un menú con 4 entradas: Añadir, Listar, Matricular y Salir, tal y co
en la siguiente imagen:

Añadir eventos para las opciones de Añadir, Listar, Matricular y Salir. Para todas las opciones rellen
siguiente código:

JOptionPane.showMessageDialog(this,
"clic en "+((JMenuItem) evt.getSource()).getText());

Para Salir añadimos el código:


System.exit(0);

Ejercicio 10. Contenedores.

Realiza un proyecto llamado Contenedores.java que muestre dos pestañas, en la primera de ellas s
ejercicio número 6 (rangos) y en la segunda el ejerccicio número 7 (textos).

Ejercicio 11. Contenedores de alto nivel (Dialogos).

Modificar el ejercicio número 1 para mostrar el resultado en una ventana showMessageDialog. Mod
(opcional).

Modifica el ejercicio para que cada vez que realice y muetre un resultado nos pregunte si queremos
terminar (Prueba con showConfirmDialog y showOptionDialog).

Modifica el ejercicio de forma que con un botón solicitemos la cantidad a convertir, esta cantidad se
en un showInputDialog.

Ejercicio 12.

Añade al ejercicio VideoClub una interfaz gráfica principal con un menú para:

 Mantenimineto de DVD.
 Mantenimientos de Clientes.
 Alquiler de un DVD.
 Pagar el alquiler.
 Salir.

Mantenimiento de DVD será una interfaz gráfica con las siguientes opciones en una barra de herra

 Nuevo DVD.
 Borrar DVD activo.
 Modificar DVD activo.
 Ir al primero.
 Ir al anterior.
 Ir al siguiente.
 Ir al final.

Para ello instanciaremos una lista de objetos (ArrayList de DVD) en la interfaz principal para almace
VideoClub.
::::::::::::::::::::::::::::::::CAJERO AUTOMATICO::::::::::::::::::::::::::::::::
/**
* @(#)cajero.java
*
*
* @author
* @version 1.00 2007/3/15
*/
import javax.swing.JOptionPane;
class cajero {
public static void main(String args[])
{
int
saldoinicial,valorconsignacion=0,retiro=0,saldo,total_consignacion=0,total_retiros=
0,dolares,n,opt;
String aux;
aux=JOptionPane.showInputDialog("Ingrese el valor con el que desea abrir la
cuenta:");
valorconsignacion = Integer.parseInt(aux);
for (;;)
{
System.out.println("CAJERO AUTOMATICO");
System.out.println(" 1. CONSIGNACIONES");
System.out.println(" 2. RETIROS");
System.out.println(" 3. CONSULTAS");
System.out.println(" 4. SU SALDO EN DOLARES");
System.out.println(" 5. SALIR");
aux=JOptionPane.showInputDialog("DIGITE OPCION");
opt=Integer.parseInt(aux);
total_consignacion=total_consignacion+valorconsignacion;
total_retiros=total_retiros+retiro;
saldo=total_consignacion-total_retiros;
dolares=saldo*2204;
switch(opt)
{
case 1:
aux=JOptionPane.showInputDialog("Ingrese el valor a consignar:");
valorconsignacion=Integer.parseInt(aux);
System.out.println("TRANSACCION EXITOSA: "+valorconsignacion);
break;
case 2:
aux=JOptionPane.showInputDialog("Ingrese el valor del retiro:");

retiro=Integer.parseInt(aux);
if(retiro>saldo)
{
System.out.print("OPERACION NO VALIDA: ");
retiro=0;
}
else
System.out.println("TRANSACCION EXITOSA: "+retiro);
break;
case 3:
System.out.print("SU SALDO ACTUAL ES: "+saldo);
System.out.print(" Total consiganciones: "+total_consignacion);
System.out.println(" Total retiros: "+total_retiros);
break;
case 4:
System.out.println("SU SALDO EN DOLARES ES: "+dolares);
break;
case 5:
System.out.println("GRACIAS ");
System.exit(0);
break;
}

}
}
}
:::::::::::::::::::::::::::::::::::::::::MENU OPERACIONES:::::::::::::::::::::::::::::
import javax.swing.JOptionPane;
class menuaritmetica {
public static void main(String args[])
{
int n1,n2,opt,ans;
String aux;
aux=JOptionPane.showInputDialog("DIGITE NUMERO 1:");
n1 = Integer.parseInt(aux);
aux=JOptionPane.showInputDialog("DIGITE NUMERO 2:");
n2=Integer.parseInt(aux);
for (;;)
{
System.out.println("MENU OPERACIONES");
System.out.println(" 1. SUMA DE DATOS");
System.out.println(" 2. RESTA DE DATOS");
System.out.println(" 3. MULTIPLICACION DE DATOS");
System.out.println(" 4. DIVISION DE DATOS");
System.out.println(" 5. EXIT");
aux=JOptionPane.showInputDialog("DIGITE OPCION");
opt=Integer.parseInt(aux);
switch(opt)
{
case 1:
ans=n1+n2;
System.out.println("EL RESULTADO DE LA SUMA ES: "+ans);
break;
case 2:
ans=n1-n2;
System.out.println("EL RESULTADO DE LA RESTA ES: "+ans);
break;
case 3:
ans=n1*n2;
System.out.println("EL RESULTADO DE LA MULTIPLICACION ES: "+ans);
break;
case 4:
ans=n1/n2;
System.out.println("EL RESULTADO DE LA DIVISION ES: "+ans);
break;
case 5:
System.out.println("GRACIAS ");
System.exit(0);
break;
}

}
}
}

:::::::::::::::::::::::::::::::::::::::::CONJETURA DE ULAM:::::::::::::::::::::::::::::
* este programa captura un número y mientras el numero sea par lo divide en 2,
* si el numero es impar el númeto se divide en 3 y le adicionamos 1, hasta que su
valor sea 1
* autor Daniel Rodriguez
*/

import javax.swing.JOptionPane;
class conjeturadeulam {
public static void main (String args [])
{
int n;
String aux;
aux =JOptionPane.showInputDialog ("Digite un número:");
n = Integer.parseInt (aux);
while (n!= 1){
if (n % 2 ==0){
n = n/2;
}
else{
n = n*3+1;
}
System.out.print(n+ " " );
}
}
}
Veamos como quena nuestra clase Sistema:

abstract public class Sistema {


protected int numeroA;
protected int numeroB;
protected int resultado;
protected char operacion;
protected int base;

public Sistema() {
this.numeroA = 0;
this.numeroB = 0;
this.resultado = 0;
this.operacion = ' ';
}

public void setNumeroA(int n){


this.numeroA = n;
}

public void setNumeroB(int n){


this.numeroB = n;
}

public void setResultado(int n){


this.resultado = n;
}

public void setOperacion(char o){


this.operacion = o;
}

public int getNumeroA(){


return this.numeroA;
}

public int getNumeroB(){


return this.numeroB;
}

public int getResultado(){


return this.resultado;
}

public char getOperacion(){


return this.operacion;
}

public void suma(){


this.resultado = this.numeroA + this.numeroB;
}
public void resta(){
this.resultado = this.numeroA - this.numeroB;
}
public void multiplicacion(){
this.resultado = this.numeroA * this.numeroB;
}
public void division(){
this.resultado = this.numeroA / this.numeroB;
}

public void establecerNumeroA(String a){


int n = Integer.parseInt(a,base);
this.setNumeroA(n);
}
public void establecerNumeroB(String b){
int n = Integer.parseInt(b,base);
this.setNumeroB(n);
}
public String retornarNumeroA(){
String cad="";
switch(base){
case 2:
cad = Integer.toBinaryString(numeroA);
break;
case 8:
cad = Integer.toOctalString(numeroA);
break;
case 10:
cad = String.valueOf(numeroA);
break;
case 16:
cad = Integer.toHexString(numeroA);
break;
}
return cad;

}
public String retornarNumeroB(){
String cad="";
switch(base){
case 2:
cad = Integer.toBinaryString(numeroB);
break;
case 8:
cad = Integer.toOctalString(numeroB);
break;
case 10:
cad = String.valueOf(numeroB);
break;
case 16:
cad = Integer.toHexString(numeroB);
break;
}
return cad;
}
public String retornarResultado(){
String cad="";
switch(base){
case 2:
cad = Integer.toBinaryString(resultado);
break;
case 8:
cad = Integer.toOctalString(resultado);
break;
case 10:
cad = String.valueOf(resultado);
break;
case 16:
cad = Integer.toHexString(resultado);
break;
}
return cad;
}

Ahora como queda la clase "Binario" que hereda de "Sistema"

public class Binario extends Sistema{


public Binario() {
this.base=2;
}
}

Ahora como queda la clase "Octal" que hereda de "Sistema"

public class Octal extends Sistema{


public Octal() {
this.base=8;
}
}

Ahora como queda la clase "Decimal" que hereda de "Sistema"

public class Decimal extends Sistema{


public Decimal() {
this.base=10;
}
}

Ahora como queda la clase "Hexadecimal" que hereda de "Sistema"

public class Hexadecimal extends Sistema{


public Hexadecimal() {
this.base=16;
}
}

Ahora como queda la clase "Conversion"


public class Conversion {

public Integer fromHexadecimal(String cad){


return Integer.parseInt(cad,16);
}

public Integer fromOctal(String cad){


return Integer.parseInt(cad,8);
}

public Integer fromBinario(String cad){


return Integer.parseInt(cad,2);
}

public String toHexadecimal(int i){


return Integer.toHexString(i);
}

public String toOctal(int i){


return Integer.toOctalString(i);
}

public String toBinario(int i){


return Integer.toBinaryString(i);
}

public String combertirSistema(int actual,int nuevo, String cad){


String res = "";
int num=0;
if(cad.length()>0){
switch(actual){
case 2:
num = fromBinario(cad);
break;
case 8:
num = fromOctal(cad);
break;
case 10:
num = Integer.parseInt(cad,10);
break;
case 16:
num = fromHexadecimal(cad);
break;
}
switch(nuevo){
case 2:
res = toBinario(num);
break;
case 8:
res = toOctal(num);
break;
case 10:
res = Integer.toString(num);
break;
case 16:
res = toHexadecimal(num);
break;
}
}
return res;
}

Y ahora como queda la clase "AppCalculadora" que sera la que pone todo junto en
una interfaz gráfica que representa la calculadora

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import co.edu.udistrital.prycalculadora.logica.*;

public class AppCalculadora implements ActionListener{

private JFrame frame;


private ButtonGroup btgSistema;
private JButton[] btnBotones;
private JRadioButton[] jrbSistemas;
private JTextField txtResultado;
private Container cpane;
int s;
Sistema d;
Conversion c;

public AppCalculadora() {
initComponents();
}

private void initComponents(){


s=10;
d = new Decimal();
c = new Conversion();
frame = new JFrame("Calculadora de Cuatro Sistemas") ;
btgSistema = new ButtonGroup();
btnBotones = new JButton[24];
jrbSistemas = new JRadioButton[4] ;
txtResultado = new JTextField(0);

int cont=0;
btnBotones[cont++]=new JButton("D");
btnBotones[cont++]=new JButton("E");
btnBotones[cont++]=new JButton("F");
btnBotones[cont++]=new JButton("/");
btnBotones[cont++]=new JButton("A");
btnBotones[cont++]=new JButton("B");
btnBotones[cont++]=new JButton("C");
btnBotones[cont++]=new JButton("*");
btnBotones[cont++]=new JButton("7");
btnBotones[cont++]=new JButton("8");
btnBotones[cont++]=new JButton("9");
btnBotones[cont++]=new JButton("-");
btnBotones[cont++]=new JButton("4");
btnBotones[cont++]=new JButton("5");
btnBotones[cont++]=new JButton("6");
btnBotones[cont++]=new JButton("+");
btnBotones[cont++]=new JButton("1");
btnBotones[cont++]=new JButton("2");
btnBotones[cont++]=new JButton("3");
btnBotones[cont++]=new JButton("=");
btnBotones[cont++]=new JButton("0");
btnBotones[cont++]=new JButton("Acerca de ... ");
btnBotones[cont++]=new JButton("Cl");
btnBotones[cont++]=new JButton("CE");

cont=0;
jrbSistemas[cont++]=new JRadioButton("BIN");
jrbSistemas[cont++]=new JRadioButton("OCT");
jrbSistemas[cont++]=new JRadioButton("DEC");
jrbSistemas[cont++]=new JRadioButton("HEX");

for(int i=0;i<jrbSistemas.length;i++){
btgSistema.add(jrbSistemas[i]);
}

cpane = frame.getContentPane();
cpane.setLayout(null);

txtResultado.setBounds(10,10,260,30);
txtResultado.setEditable(false);
txtResultado.setBackground(Color.white);
txtResultado.setHorizontalAlignment(JTextField.RIGHT);
cpane.add(txtResultado);

int x=10;
int y=45;
for(int i=0;i%lt;jrbSistemas.length;i++){
x=i*70+10;
jrbSistemas[i].setBounds(x,y,60,20);
jrbSistemas[i].addActionListener(this);
cpane.add(jrbSistemas[i]);

}
x=10;
y=35;
for(int i=0;i&ltbtnBotones.length;i++){
if(i%4==0){
x=10;
y+=35;
}else{
x+=70;
}
if(i!=20 && i!=21){
btnBotones[i].setBounds(x,y,50,30);
}else{
if(i==20)
btnBotones[i].setBounds(x,y,120,30);
if(i==21)
btnBotones[i].setBounds(10,y+35,260,30);
}

btnBotones[i].addActionListener(this);
cpane.add(btnBotones[i]);
}

jrbSistemas[2].setSelected(true);

elegirSistema(10);

frame.pack();
frame.setSize(290,350);
frame.setResizable(false);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

private void elegirSistema(int sistema){

for(int i=0;i<btnBotones.length;i++){
if(!btnBotones[i].getText().equals("+")&&
!btnBotones[i].getText().equals("-")&&
!btnBotones[i].getText().equals("*")&&
!btnBotones[i].getText().equals("/")&&
!btnBotones[i].getText().equals("=")){
btnBotones[i].setEnabled(false);
}
}
switch(sistema){
case 2:
for(int i=0;i<btnBotones.length;i++){
if(!btnBotones[i].getText().equals("A")&&
!btnBotones[i].getText().equals("B")&&
!btnBotones[i].getText().equals("C")&&
!btnBotones[i].getText().equals("D")&&
!btnBotones[i].getText().equals("E")&&
!btnBotones[i].getText().equals("F")&&
!btnBotones[i].getText().equals("9")&&
!btnBotones[i].getText().equals("8")&&
!btnBotones[i].getText().equals("7")&&
!btnBotones[i].getText().equals("6")&&
!btnBotones[i].getText().equals("5")&&
!btnBotones[i].getText().equals("4")&&
!btnBotones[i].getText().equals("3")&&
!btnBotones[i].getText().equals("2")){
btnBotones[i].setEnabled(true);
}
}
break;
case 8:
for(int i=0;i<btnBotones.length;i++){
if(!btnBotones[i].getText().equals("A")&&
!btnBotones[i].getText().equals("B")&&
!btnBotones[i].getText().equals("C")&&
!btnBotones[i].getText().equals("D")&&
!btnBotones[i].getText().equals("E")&&
!btnBotones[i].getText().equals("F")&&
!btnBotones[i].getText().equals("9")&&
!btnBotones[i].getText().equals("8")){
btnBotones[i].setEnabled(true);
}
}
break;
case 10:
for(int i=0;i<btnBotones.length;i++){
if(!btnBotones[i].getText().equals("A")&&
!btnBotones[i].getText().equals("B")&&
!btnBotones[i].getText().equals("C")&&
!btnBotones[i].getText().equals("D")&&
!btnBotones[i].getText().equals("E")&&
!btnBotones[i].getText().equals("F")){
btnBotones[i].setEnabled(true);
}
}
break;
case 16:
for(int i=0;i<btnBotones.length;i++){
btnBotones[i].setEnabled(true);
}
break;
}
txtResultado.setText(c.combertirSistema(s, sistema, txtResultado.getText()));
s=sistema;
}

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
AppCalculadora c = new AppCalculadora();
}

public void actionPerformed(ActionEvent e){


if(e.getActionCommand().equals("Cl")||e.getActionCommand().equals("CE")){
txtResultado.setText("");
}
if(e.getActionCommand().equals("BIN")){
elegirSistema(2);
d = new Binario();
}
if(e.getActionCommand().equals("OCT")){
elegirSistema(8);
d = new Octal();
}
if(e.getActionCommand().equals("DEC")){
elegirSistema(10);
d = new Decimal();
}
if(e.getActionCommand().equals("HEX")){
elegirSistema(16);
d = new Hexadecimal();
}
if(!e.getActionCommand().equals("+")&&
!e.getActionCommand().equals("-")&&
!e.getActionCommand().equals("*")&&
!e.getActionCommand().equals("/")&&
!e.getActionCommand().equals("=")&&
!e.getActionCommand().equals("Acerca de ... ")&&
!e.getActionCommand().equals("Cl")&&
!e.getActionCommand().equals("CE")&&
!e.getActionCommand().equals("BIN")&&
!e.getActionCommand().equals("OCT")&&
!e.getActionCommand().equals("DEC")&&
!e.getActionCommand().equals("HEX")){
txtResultado.setText(txtResultado.getText()+e.getActionCommand());
}

if(e.getActionCommand().equals("+")||
e.getActionCommand().equals("-")||
e.getActionCommand().equals("*")||
e.getActionCommand().equals("/")){
d.setOperacion(e.getActionCommand().charAt(0));
switch(s){
case 2:
d.establecerNumeroA(txtResultado.getText());
break;
case 8:
d.setNumeroA(c.fromOctal(txtResultado.getText()));
break;
case 10:
d.setNumeroA(Integer.parseInt(txtResultado.getText()));
break;
case 16:
d.setNumeroA(c.fromHexadecimal(txtResultado.getText()));
break;
}
txtResultado.setText("");
}

if(e.getActionCommand().equals("=")){
switch(s){
case 2:
d.setNumeroB(c.fromBinario(txtResultado.getText()));
break;
case 8:
d.setNumeroB(c.fromOctal(txtResultado.getText()));
break;
case 10:
d.setNumeroB(Integer.parseInt(txtResultado.getText()));
break;
case 16:
d.setNumeroB(c.fromHexadecimal(txtResultado.getText()));
break;
}
switch(d.getOperacion()){
case '+':
d.suma();
break;
case '-':
d.resta();
break;
case '*':
d.multiplicacion();
break;
case '/':
d.division();
break;
}
switch(s){
case 2:
txtResultado.setText(c.toBinario(d.getResultado()));
break;
case 8:
txtResultado.setText(c.toOctal(d.getResultado()));
break;
case 10:
txtResultado.setText(String.valueOf(d.getResultado()));
break;
case 16:
txtResultado.setText(c.toHexadecimal(d.getResultado()));
break;
}
}
if(e.getActionCommand().equals("Acerca de ... ")){
JOptionPane.showMessageDialog(null, "Calculadora de ejemplo");
}
}

Potrebbero piacerti anche