jump to navigation

Tablas de multiplicar en Java Junio 5, 2007

Publicado por lineadecodigo en : Java , trackback

Siempre que he impartido algún curso de formación sobre el lenguaje Java, y han sido unos cuantos, si bien no todos lo que ha uno le gustaría, el ejercicio de la tabla de multiplicar ha sido uno de los más didácticos. Y es que no sé si el aprendizaje de una tabla de multiplicar y su programación con un bucle tienen algo igual en su trasfondo.

El ejercicio es bien sencillo. Hay que montar una aplicación que nos pida por consola un número y que con ese número nos de su tabla de multiplicar. En consola quedaría algo así:

¿De qué número quieres la tabla de multiplicar? 3

3 x 1 = 3
3 x 2= 6
3 x 3= 9
3 x 4= 12
3 x 5= 15
3 x 6= 18
3 x 7= 21
3 x 8= 24
3 x 9= 27
3 x 10 = 30

A si que lo primero es que nos pidan por consola el número de la tabla que vamos a sacar. Para ello lo que tenemos que hacer es capturar lo que el usuario esté tecleando en la consola. Es decir, tratar el System.in. Para ello, abriremos un BufferReader sobre la consola. Quedándonos el siguiente código:

InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);

Para capturar el texto tendremos que leer sobre el buffer:

sNumero = br.readLine();

La lectura realizada sobre la consola nos devolverá una cadena. Es por ello que habrá que convertirla a número, si es que queremos tratarlo como tal. Podemos utilizar la clase Integer para su conversión.

Ya sabiendo el número del cual queremos sacar la tabla de multiplicar llegaremos al meollo del programa. No quiere decir que lo que hemos hecho hasta ahora sea sencillo.

En esta parte habrá que iterar 10 veces sobre el número recuperado para ir pintando en pantalla la tabla de multiplicar. Para resolver esto podemos utilizar cualquiera de las estructuras repetitivas que nos ofrece el lenguaje Java. En nuestro caso utilizaremos el bucle for sobre el que iteraremos 10 veces:

for (int x=1;x<11;x++)
   System.out.println(iNumeroCalculo + " x " + x + " = "
     +  (x*iNumeroCalculo));

En todo el ejercicio hay que tener especial cuidado con las excepciones, ya que en la lectura de consola podríamos tener excepciones del tipo IOException.

Visualizar el ejemplo | Descargar el código

| Print This Post/Page | 27649 visitas

7 Votes | Average: 3.14 out of 57 Votes | Average: 3.14 out of 57 Votes | Average: 3.14 out of 57 Votes | Average: 3.14 out of 57 Votes | Average: 3.14 out of 5 (7 votos, media: 3.14 de 5)
Loading ... Loading ...

Comentarios»

1. MONU - Junio 11, 2007

ESTA CHIDO EL CODIGO ME GUSTARIAA QUE MUESTRES MAS CODIGOS ASI UNO APRENDE MAS

2. quete - Julio 17, 2007

no sirbe esta pagina

3. yo - Julio 17, 2007

esta bien mamon esto

4. brenda tirado cerna - Julio 25, 2007

yo las tablas no me las se muy bien pero mis primas tampoco se las saben todas que me recomiendan ustedes me pueden mandar una lista de las tablas de multiplicar plisssssssssssss

ATTE: Brenda y sus primas

posdata: mandenme la lista,.
¡gracias!

5. Mitzy - Julio 28, 2007

Me sirvio de mucho este ejemplo, la pagina esta alante alante

6. marcela rodriguez - Agosto 29, 2007

hola
quisiera ver como hacer las tablas de multiplicar de 1al 10 pero en lenguaje especial –delphi–
me puedes ayudar ?????

7. saul arizmendi cervantes - Agosto 31, 2007

no se puede realizar una tabla sin utilizar la conversion de texto en numero

8. lineadecodigo - Septiembre 3, 2007

Si, al leer el número por consola obliga a realizar la conversión de cadena a número.

¿Cual es el problema en realizar la conversión? ¿Se puede ayudar de alguna otra forma?

9. iris - Septiembre 6, 2007

MALO, NO ENTIENDO NI PIO, SOLO QUIERO UNA TABLA MULTIPLICAR NO PAGINAS DE LA NASA

10. patty - Septiembre 6, 2007

pesimo, no enterder ni jota de esto papaisssss…………
Ayudenme quiero aprender a multiplicar y no se como!!!

11. KETTY - Septiembre 10, 2007

INTERESANTE!!!!!! :d

12. marth - Septiembre 14, 2007

queria una aplicación para applet no para consola pero a pesar de eso esta bueno el codigo

13. jenny jaimes ramon - Septiembre 19, 2007

juegos didacticos de las tablas de multiplicar donde puedo encontrar

14. ramiro - Septiembre 24, 2007

como puedo guardar numeros grandes en una tabla hash y guardarlos segun a su cantidad

15. luis guillermo aravena aravena - Septiembre 27, 2007

(>=’-'=

16. kemdra hernandez - Octubre 2, 2007

hola como estas kemdra

17. yo - Noviembre 14, 2007

del 1 al 10

18. Daniel - Noviembre 16, 2007

lo mismo pero más fácil:

http://neoparaiso.com/logo/tablas-de-multiplicar.html

19. SAUL ARIZMENDI - Diciembre 15, 2007

YA CHE CQUE BIEN TU CODIGO ESTA MUY BIEN, SOL QUE QUERIQ SABER PORQUE EL C O EN PASCAL NO SE HACE LA CONVERSIO PERO EL CODIGO ESTA EXCELENTES

20. Moro - Enero 11, 2008

buah,…

21. Dani - Enero 16, 2008

ola muy buenas, estoy aprendiendo a programas el visual basic, y me han mandado hacer una tabla de multiplicar, espero no molestar pero necesito ayuda gracias

22. marcela contreras - Febrero 11, 2008

hola sera que me puedes ayudar haciendo el programa de las tablas de multiplicar pero en forma recursiva en java porfa

y el de como ordenar un vector tambien en java
gracias
byeeeeeeeeeeee

23. lineadecodigo - Febrero 12, 2008

@marcela,

De momento te dejo el ejemplo de Tablas de multiplicar recursivas en Java.

Me pongo con el de ordenar un Vector, a ver si te le puedo publicar pronto.

Salu2.

24. Linea de Codigo » Tablas de multiplicar recursivas en Java - Febrero 12, 2008

[…] forma sencilla de crear un programa que genere las tablas de multiplicar lo podéis encontrar en Tablas de multiplicar en Java. En él, mediante un simple bucle se van generando las diferentes lineas con las […]

25. adry - Febrero 12, 2008

gracias por la ayuda me sirvio mucho

y el codigo de multiplicar si le entendi muchas gracias

que bueno que hay sitios donde te ayudan

26. marce - Febrero 13, 2008

gracias por la ayuda me sirvio bastante.

ahora necesito es el del vector tambien en forma recursiva e iteractiva en java que busque y ordene el vector que pena por la molestia y de nuevo muchas gracias.
este lo necesito lo mas pronto posible por favor ahh y tembn que tenga un contador de tiempo
urgente!!!!!°!!!!!
byeeeeeee

27. marce - Febrero 13, 2008

lo necesito super urgente lo del vector

28. wilmer esneider - Febrero 27, 2008

necesito n odigo completo de tabalas demultiplicar

29. katane - Marzo 4, 2008

El ingreso de datos, gracias a la nueva clase Scanner puede ser diferente:

import java.util.Scanner; // ponerlo antes que todo
…..
//Ingresa un numero entero
Scanner intro = new Scanner(System.in);
System.out.print(”Ingrese un numero: “);
num = intro.nextInt();

… por ejemplo

30. matilde - Marzo 10, 2008

necesito todas las tablas de multiplokar del 1 al 12 no me pueden dar la del 3 no ma

31. fernanda - Marzo 11, 2008

mmmmmmmmm

de k se trata

agregen en msn

xau

32. melissa - Abril 1, 2008

yo soy una niña de 8 años pero soy muy tesa para las matematicas y las multiplicasiones

33. Carlos Lira - Abril 5, 2008

tengo este codigo asi,

import javax.swing.*;
import java.lang.*;
class Tabla{
public static void main (String args[]){
int n1, numero;
String leer;
leer= JOptionPane.showInputDialog(”Escriba el Numero de la Tabla”);
numero = Integer.parseInt(leer);
for (int i=1;i<=10;i++){
JOptionPane.showMessageDialog(null,”"+numero+” * “+i+” = “+(i*numero));
}
}
}

lo que quiero que imprima, es la lista en una sola ventana…

34. laura - Abril 14, 2008

mesesito las tablasssssssssssss

35. mi nombre es saul arizmendi cervantes - Abril 18, 2008

esta bien tu tabla de multiplicar te puse un iez pero mi duda es como quedaria por medio de ventanas yo hice esto pero no me desglosatodo los resultado aparece uno por uno pero yo kiero todo como en la consola que me falta
import javax.swing.*;
import java.lang.*;

class Tabla{
public static void main (String args[]){

int a;
String leer;

a=Integer.parseInt(JOptionPane.showInputDialog(”Escriba el primer Número”));

JOptionPane.showMessageDialog(null, “El numero es: “+a);

for (int x=1;x<=10;x++)

{
JOptionPane.showMessageDialog(null,a+” x “+ x +” = “+(x*a));
}

}
}

36. olga medina - Mayo 18, 2008

me puedes ayudar con esto???
gracias
7. Diseñar un programa que despliegue los números del 20 al 30.
8. Diseñar un programa de los múltiplos de 5, entre 10 y 50, acompañados de su
factorial y logaritmo respectivo.
9. Diseñar un programa donde se despliegue las tablas de multiplicar que usuario
indique.
10. Diseñar un programa que muestre los múltiplos de 4 entre 60 y 20
acompañados de su logaritmo de base 10 y base e respectivos.
11. Construir la tabla de dividir que el usuario indique.
12. Diseñar un programa que capture un deporte cualquiera y despliegue dos
implementos deportivos apropiados.
13. construir un programa que capture un número cualesquiera y diga si es o no
es mayor de 50 y múltiplo de tres.
14. construir un programa que indique si un número es par positivo.
15. construir un programa que capture los datos de un empleado, desplegar en
una página su cheque semanal si gana más de $500.000 y si esta en el
departamento de producción, en caso contrario desplegar en otra página un
bono del 25% de su sueldo semanal.

37. vyctor manuel - Mayo 22, 2008

utilicen las librerias
import java.io.*;
import java.util.Scanner;
public class multiplicacion{
public static void main(String [] x){
Scanner op=new Scanner(System.in);
int num;
int res;
System.out.println(”introduce el num”);
num=op.nextint();
for (int x=0; x<=10;x++){
res=num*x;
}
System.out.println(”)
}
}

es algo asi creo

38. Alexander Julian Quiala Feria - Mayo 30, 2008

Ok me uno a ustedes lo muy es la programacion en java me gustaria compartir conocimiento aqui y que me enseñen un poco tambien ok cuidense chao

39. natalia - Junio 4, 2008

que boba da essa mama cristina

40. karina - Junio 4, 2008

oli bueno estoy en 6 en el colegio de maria inmaculada y nesesito aprenderme la tablas ia xao

41. karen - Junio 5, 2008

que pagina mas mala home yo puse las tablas de ultiplicar hasta el 15 y no aparecio nada definitivamente esta es la peor pagina del universo noooooo que cosa mas mala parce

42. miye - Junio 10, 2008

no pone la tabla de multiplicar si no otra cosa

43. Nicolas Felipe Muñoz Hernandes - Junio 19, 2008

hola su pag. es muy¡¡¡¡¡¡¡ buena y los felisitos yo creo q mayana me sacare un 7 grasias asu pag. chau

44. CARLA - Julio 2, 2008

YO NECESITO LA TABLA DE TODOS LOS NÚMEROS!!!!
OSEA DEL 1 AL INFINITO!!!!!

45. besty - Julio 21, 2008

yo necesito saberme las multiplicasiones

46. maria - Julio 31, 2008

hola…
como estas
espero que bn bn
pasate por mi metro

47. alejandraa - Julio 31, 2008

muy buena
la pag…
bueno =
no pude
toda la
tarea q me
pidieron
pero =
buena la
pag……….

xau o chao =)

48. victoria alejandra sanchez cuellar - Agosto 3, 2008

estoy estudiado las tablas si pueden enseñarme mas aserca de las tablas porfavor mandarlas a mi correo electrnico poravor o sino llamar al 5553659

Victoria Alejandra Sanchez Cuellar

49. jose - Agosto 17, 2008

hola amigos como estas soy jose lois
y me gusta el lenguaje java

50. NATALIA AREVALO - Septiembre 1, 2008

me encantan las matematicas resolver problemas y encontrarle la soluciones rapidas y precisas.

51. dayana - Septiembre 5, 2008

no sabe las tablas de multiplicar

52. gaby - Septiembre 11, 2008

Module Module1
Sub main()
Dim i, x, resultado As Integer
Console.WriteLine(”ingrese el numero”)
x = Console.ReadLine
For i = 1 To 12
resultado = x * i
Console.WriteLine(x & “*” & i & “=” & resultado)
Next
Console.ReadLine()
End Sub
End Module

53. ANAPAOLA - Octubre 12, 2008

EN REAIDAD ESTOY EN TERCEROPRIMARIA ESTAVA BUSCANDO LAS TABLAS DE MULTIPLICAR LA DEL 12 Y 11 Y NO ENCONTRE NADA CREI QUE ESTO ME AYUDARIA PERO NO NO LE ENTENDI PERO DE TODOS MODOS GRACIAS http://WWW.LINEADECODIGO.COM

54. paola - Octubre 13, 2008

Me odria dar la formula para encontrar los multiplos de un numero gracias…paola

55. Fredy Cortes - Octubre 16, 2008

Por favor necesito este programa en java:
Construir un programa que capture los datos de un empleado, desplegar en una página su cheque semanal si gana más de $500.000 y si esta en el departamento de producción, en caso contrario desplegar en otra página un bono del 25% de su sueldo semanal.

56. Fredy Cortes - Octubre 16, 2008

Construir un programa que capture un número cualquiera y diga si es o no es mayor de 50 y múltiplo de tres.
Necesito este programa en java

57. Evimael Rodriguez - Octubre 20, 2008

que les parece si en lugar de una simple table de multiplicar pasamos una calculadora sencilla con las operaciones basicas como; sumar, multiplicar, restar y dividir: este es el codigo.

//a continuacion se crea la 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<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<btnBotones.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”);
}
}

}

//y aqui termina nuestro programa, ahora probemoslo para checarlo que corra como se esperaba.

58. Evimael Rodriguez - Octubre 20, 2008

creo que escribi mal mi correo, ahi les va

59. Evimael Rodriguez - Octubre 20, 2008

//a continuacion se crea la 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<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<btnBotones.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”);
}
}

}

//y aqui termina nuestro programa, ahora probemoslo para checarlo que corra como se esperaba.

60. Evimael Rodriguez - Octubre 20, 2008

el codigo anterior sirve para ejecutar una calculadora grafica muy compleja, ideal para cualquier tarea que tengas solo copia y pega, debes tener netbeans 6.5 para que funcione…..

61. evelin vergara muñoz - Octubre 26, 2008

hola megustaesto

sera excelente

62. ERS,... - Octubre 27, 2008

//CODIGO PARA EJECUTAR UNA CALCULADORA GRAFICA Y MUY COMPLEJA HECHO EN NETBEANS

//a continuacion se crea la 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<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<btnBotones.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”);
}
}

}

//y aqui termina nuestro programa, ahora probemoslo para checarlo que corra como se esperaba.

63. JULIA VARGAS - Noviembre 2, 2008

HOLA COMO ESTAN NO ENCUENTRO UNA GUIA DEL PROBLEMA

. construir un programa que capture los datos de un empleado, desplegar en una página su cheque semanal si gana más de $500.000 y si esta en el departamento de producción, en caso contrario desplegar en otra página un bono del 25% de su sueldo semanal.

64. fiorela - Noviembre 18, 2008

esta muy bueno este programa ,es sencillo de hacer y se entiende por completo pero quisiera preguntarte como puedo hacer la sgte tabla de multiplicar:
1*1=1
1*2=1+1
1*3=1+1+1 y asi sucesivamente desearia trabajarlo en paquetes (vista y logico) les agradeceria si me podrian ayudar .
cualquier cosa avisenme mi correo es :fio_spirit007@hotmail.com

65. prroooo - Noviembre 19, 2008

porfa nesecito urgente un programa que multiplique y los valores sean ingresados por teclado

66. leyla - Noviembre 30, 2008

hola soy de bs as no se las tablas me gustaria si me puden mandar las tablas es q me gusta aprender cosas nuevas y no me gusta cuando mis compañeros asen gruppos de matematica y como no se tengo q hacer sola o con algien q sepa es orrible si me mandan voy a estar agradecida muchas gracias x leer este msn este msn es de mi hermano disculpen
p,d x favor mandenme la tabla la nesecito muchas gracias


Close
E-mail It