Está en la página 1de 9

DOSSIER

GREENFOOT

Iris Lorente Cutanda


2º BACH A
Informática
Dossier Greenfoot Iris Lorente 2º BACH A

ÍNDICE:
1. ACTIVIDADES WHILE ..................................................................................................... 3
1.1. PALABRA DE PASO ................................................................................................ 3
1.2. PALABRA DE PASO FICHERO ............................................................................... 3
1.3. TABLA DEL 5 ........................................................................................................... 4
1.4. TABLA DEL 1 AL 10 PREGUNTA ............................................................................ 4
1.5. TABLA DEL 1 AL 10 MÁS OPCIÓN ......................................................................... 4
1.6. SUMA PARCIAL ...................................................................................................... 6
1.7. FACTORIAL ............................................................................................................. 6
2. VENTANAS ...................................................................................................................... 7
2.1. INPUT DIALOG ....................................................................................................... 7
2.2. BOTONES ............................................................................................................... 7
2.3. COMBO BOX .......................................................................................................... 8

2
Dossier Greenfoot Iris Lorente 2º BACH A

1. ACTIVIDADES WHILE
1.1. PALABRA DE PASO
El programa te pide una palabra de paso, si conoces la clave el programa termina, sino
continúa pidiéndotela hasta que la adivines.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public static void while1()


{
String clave = "IloveTic", passwd="";

passwd = JOptionPane.showInputDialog("¿Cual es la clave?");

while(!passwd.equals("IloveTic"))
{
passwd = JOptionPane.showInputDialog("Error. Introduce de nuevo la clave");
}

JOptionPane.showMessageDialog(null, "La clave es correcta");


}

1.2. PALABRA DE PASO FICHERO


El mismo programa anterior pero la clave está almacenada en un fichero de texto ubicado
en ~/clave.txt.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public static void fichero ()


{
String palabra, linea ="";

File f = new File("clave.txt");

try{
Scanner s = new Scanner(f);
linea = s.nextLine();
s.close();
}
catch (FileNotFoundException e)
{
JOptionPane.showMessageDialog (null, "No puedo leer el fichero");
}

palabra = JOptionPane.showInputDialog("Introduce la palabra de paso:");

while (!(palabra.equals(linea)))
palabra = JOptionPane.showInputDialog ("Introduce la palabra de paso:");

JOptionPane.showMessageDialog(null, "¡LA CLAVE ES CORRECTA!");


}

3
Dossier Greenfoot Iris Lorente 2º BACH A

1.3. TABLA DEL 5


Un programa que saque la tabla de multiplicar del 5 por pantalla, un nº por línea.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public static void TablaDel5()


{
int contador=1, resultado=0;
String tabla5= "";
while(contador<=10)
{
resultado=5*contador;
tabla5= tabla5 + "5x" + contador+ "=" + resultado + "\n" ;
contador= contador+1;
}
JOptionPane.showMessageDialog(null, tabla5);
}

1.4. TABLA DEL 1 AL 10 PREGUNTA


Un programa que:
a. te pregunte que tabla de multiplicar quieres calcular del 1 al 10. El programa
validará que el nº introducido está entre estos valores.
b. que te saque por pantalla la tabla solicitada. (ej. 1 * 6 = 6, etc.…)
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public static void tablas1a10()


{
String stabla ="", tablaCompleta="";

int etabla = 0, contador = 1, resultado = 0;

stabla = JOptionPane.showInputDialog("Introduzca la tabla que desea calcular");

etabla = Integer.parseInt(stabla);

while ((etabla<0)||(etabla>10))
{
stabla = JOptionPane.showInputDialog("Error, introduza un numero del 1 al 10");

etabla = Integer.parseInt(stabla);
}

while (contador<=10)
{
resultado = contador*etabla;

tablaCompleta = tablaCompleta + etabla + "*" + contador + "=" + resultado + "\n";

4
Dossier Greenfoot Iris Lorente 2º BACH A
contador = contador+1;
}

JOptionPane.showMessageDialog (null, tablaCompleta);


}

1.5. TABLA DEL 1 AL 10 MÁS OPCIÓN


Añadir al programa anterior la opción de poder calcular más tablas, es decir, el programa
tras sacarte la tabla por pantalla te pregunta “si desea calcular otra tabla pulse s, cualquier
otra letra detiene el programa. El programa sólo continuará si pulsas la letra s.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public static void tablas1a10opcion()


{
String stabla ="", tablaCompleta="", respuesta="SI";

int etabla = 0, contador = 1, resultado = 0;

while (respuesta.equals("SI"))
{
stabla = JOptionPane.showInputDialog("Introduzca la tabla que desea calcular");

etabla = Integer.parseInt(stabla);

while ((etabla<0)||(etabla>10))
{
stabla = JOptionPane.showInputDialog("Error, introduza un numero del 1 al 10");

etabla = Integer.parseInt(stabla);
}

while (contador<=10)
{
resultado = contador*etabla;

tablaCompleta = tablaCompleta + etabla + "*" + contador + "=" + resultado + "\n";

contador = contador+1;
}

JOptionPane.showMessageDialog (null, tablaCompleta);

respuesta = JOptionPane.showInputDialog("¿Desea seguir multiplicando?" + "\n" + "Si desea seguir calculando otra
tabla pulse 'SI', cualquier otra contestacion saldra del programa");

contador = 1;

tablaCompleta="";
}

JOptionPane.showMessageDialog (null, "El programa ha finalizado." + "\n" + "¡Hasta pronto!");


}

public static void tablas1a10Botones ()


{
String[] botones = {"Tabla del 1", "Tabla del 2", "Tabla del 3", "Tabla del 4", "Tabla del 5", "Tabla del 6", "Tabla del 7",
"Tabla del 8", "Tabla del 9", "Tabla del 10"};

5
Dossier Greenfoot Iris Lorente 2º BACH A

String stabla ="", tablaCompleta="", respuesta="SI";

int boton = 1, contador=1, etabla = 0, resultado = 0;

boton = JOptionPane.showOptionDialog(null,
"Clique en la tabla que desea calcular:",
"¡BIENVENIDO!",
JOptionPane.DEFAULT_OPTION,
JOptionPane.QUESTION_MESSAGE, null,
botones, botones[0]);

while (respuesta.equals("Tabla del 1"))


{
stabla = JOptionPane.showInputDialog("Teclee la tabla que desea calcular");

etabla = Integer.parseInt(stabla);

while ((etabla<0)||(etabla>10))
{
stabla = JOptionPane.showInputDialog("Error. Seleccione un numero del 1 al 10");

etabla = Integer.parseInt(stabla);
}

while (contador<=10)
{
resultado = contador*etabla;

tablaCompleta = tablaCompleta + etabla + "*" + contador + "=" + resultado + "\n";

contador = contador + 1;
}

JOptionPane.showMessageDialog (null, tablaCompleta);

respuesta = JOptionPane.showInputDialog("¿Desea seguir multiplicando?" + "\n" + "Si desea seguir calculando


otra tabla pulse 'SI'");

contador = 1;

tablaCompleta="";
}

JOptionPane.showMessageDialog (null, "El programa ha finalizado." + "\n" + "¡Hasta pronto!");


}

1.6. SUMA PARCIAL


Hacer un programa que te pida números enteros de 1 en 1 y te vaya informando del
resultado de la suma parcial acumulada. El programa dejará de pedirte números cuando
introduzcas la cifra 000.
public static void sumaFactorial()
{
int Rdo=0, entero;

String numero="";

while (!numero.equals("000"))
{
numero = JOptionPane.showInputDialog("Introduzca un numero entero");
entero = Integer.parseInt(numero);

6
Dossier Greenfoot Iris Lorente 2º BACH A
Rdo = Rdo + entero;
JOptionPane.showMessageDialog(null, Rdo);
}

JOptionPane.showMessageDialog(null, "Finalizo el programa");


}

1.7. FACTORIAL
Hacer un programa que te calcule el factorial de un nº solicitado por teclado. ej. el factorial
de 5, 5!=5*4*3*2*1. El programa te preguntará si quieres calcular el factorial de otro número,
( letra s), cualquier otra letra detiene el programa.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

public static void factorial()


{
String sfactorial ="";

int resultado = 0, efactorial = 0, contador = 0;

sfactorial = JOptionPane.showInputDialog("Introduzca el numero del que desee calcular su factorial");

efactorial = Integer.parseInt(sfactorial);

contador = efactorial-1;

while (contador>1)
{
efactorial = efactorial*contador;

contador = contador-1;
}

JOptionPane.showMessageDialog (null, "El resultado factorial es:" + efactorial);


}

2. VENTANAS
Realiza un programa que te muestre el siguiente menú de 3 maneras diferentes:

2.1. INPUT DIALOG


Mediante una ventana de tipo InputDialog.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileNotFoundException;

public static void Menu()


{
String menu="";

7
Dossier Greenfoot Iris Lorente 2º BACH A
menu = JOptionPane.showInputDialog(null, "Seleccione una opcion:" + "\n1. Writer" + "\n2. YouTube" + "\n3. Foto de
un gatito" + "\n" + "\nTeclee el numero deseado");

if(menu.equals("1"))
{
try {
Process p=Runtime.getRuntime().exec("lowriter");
}
catch(Exception e)
{
JOptionPane.showInputDialog(null, "No se puede ejecutar Writer");
}
}
else if(menu.equals("2"))
{
try {
Process p=Runtime.getRuntime().exec("firefox www.youtube.com");
}
catch(Exception e)
{
JOptionPane.showInputDialog(null, "No se puede ejecutar Youtube");
}
}
else if(menu.equals("3"))
{
try {
Process p=Runtime.getRuntime().exec("gimp FotoGatito.jpeg");
}
catch(Exception e)
{
JOptionPane.showInputDialog(null, "No se puede ejecutar la foto");
}
}
}

2.2. BOTONES
Mediante una serie de botones.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileNotFoundException;

public static void ventanaBotonesPersonalizados1()


{
String[] botones = {"Ejecutar Writer", "Ejecutar Youtube", "Ver la foto de un gatito", "Acabar el programa"};

int boton=0;

boton = JOptionPane.showOptionDialog(null,
"Selecciona una opcion:", //Texto dentro de la ventana
"Ejecuta un programa", // Texto de la barra de la ventana
JOptionPane.DEFAULT_OPTION,
JOptionPane.QUESTION_MESSAGE, null, //Icono de pregunta en la ventana, el null indica que no se
introuce un icono personalizado
botones, botones[0]); //Las opciones de la variable compuesta botones y que aparezca como opcion
preseleccionada la primera ("Ejecutar Writer")

if(boton == 0)
{
JOptionPane.showMessageDialog(null,"Ejecutar Writer");
}

8
Dossier Greenfoot Iris Lorente 2º BACH A
else if(boton == 1) {JOptionPane.showMessageDialog(null, "Ejecutar Youtube");}
else if(boton == 2) {JOptionPane.showMessageDialog(null, "Ver la foto de un gatito");}
else if(boton == 3) {JOptionPane.showMessageDialog(null, "Acabar el programa");}
}

2.3. COMBO BOX


Mediate un comboBox.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.FileNotFoundException;

public static void ventanaBotonesPersonalizados2()


{
String[] botones = {"Ejecutar Writer", "Ejecutar Youtube", "Ver la foto de un gatito", "Acabar el programa"};

String opcion_elegida="";

opcion_elegida = (String)JOptionPane.showInputDialog(
null,
"Selecciona una opcion:", //Texto dentro de la ventana
"Ejecuta un programa", // Texto de la barra de la ventana
JOptionPane.QUESTION_MESSAGE, //Para que coja las opciones del arreglo de strings opcion_elegida
null, //Null indica que no se introuce un icono personalizado
botones,
botones[0]); //Las opciones de la variable compuesta opcion_elegida y que aparezca como opcion
preseleccionada la primera ("Ejecutar Writer")

if(opcion_elegida.equals("Ejecutar Writer")) {JOptionPane.showMessageDialog(null, "Ejecutar Writer");}


else if(opcion_elegida.equals("Ejecutar Youtube")) {JOptionPane.showMessageDialog(null, "Ejecutar Youtube");}
else if(opcion_elegida.equals("Ver la foto de un gatito")) {JOptionPane.showMessageDialog(null, "Ver la foto de un
gatito");}
else if(opcion_elegida.equals("Acabar el programa")) {JOptionPane.showMessageDialog(null, "Acabar el programa");}
}

También podría gustarte