Ejercisios Resueltos para Practicar Netbeans
Ejercisios Resueltos para Practicar Netbeans
Ejercisios Resueltos para Practicar Netbeans
2) Declara 2 variables num�ricas (con el valor que desees), he indica cual es mayor
de los dos. Si son iguales indicarlo tambi�n. Ves cambiando los valores para
comprobar que funciona.
//Hacemos la comprobaci�n
if (num1>=num2){
//If anidado
if(num1==num2){
System.out.println("Los numeros "+num1+" y "+num2+" son iguales");
}else{
System.out.println("El n�mero "+num1+" es mayor que el n�mero
"+num2);
}
}else{
System.out.println("El n�mero "+num2+" es mayor que el n�mero "+num1);
}
}
}
String nombre="Fernando";
System.out.println("Bienvenido "+nombre);
}
}
4) Modifica la aplicaci�n anterior, para que nos pida el nombre que queremos
introducir (recuerda usar JOptionPane).
import java.util.Scanner;
public class SaludoPersonalizadoApp {
System.out.println("Bienvenido "+nombre);
}
}
� Versi�n con JOptionPane
import javax.swing.JOptionPane;
public class SaludoPersonalizadoApp {
System.out.println("Bienvenido "+nombre);
}
}
import java.util.Scanner;
public class AreaCirculoApp {
import javax.swing.JOptionPane;
public class AreaCirculoApp {
import java.util.Scanner;
public class DivisibleApp {
7) Lee un n�mero por teclado y muestra por consola, el car�cter al que pertenece en
la tabla ASCII. Por ejemplo: si introduzco un 97, me muestre una a.
import javax.swing.JOptionPane;
public class CodigoASCIIApp {
System.out.println(caracter);
}
}
import java.util.Scanner;
import javax.swing.JOptionPane;
public class CaracterASCIIApp {
System.out.println(codigo);
}
}
9) Lee un n�mero por teclado que pida el precio de un producto (puede tener
decimales) y calcule el precio final con IVA. El IVA sera una constante que sera
del 21%
System.out.println(codigo);
}
}
� Versi�n con JOptionPane
import javax.swing.JOptionPane;
public class PrecioProductoApp {
System.out.println(precioFinal);
}
}
10) Muestra los n�meros del 1 al 100 (ambos incluidos). Usa un bucle while.
public class MuestraNumWhileApp {
int num=1;
12) Muestra los n�meros del 1 al 100 (ambos incluidos) divisibles entre 2 y 3.
Utiliza el bucle que desees.
� Con While
int num=1;
13) Realiza una aplicaci�n que nos pida un n�mero de ventas a introducir, despu�s
nos pedir� tantas ventas por teclado como n�mero de ventas se hayan indicado. Al
final mostrara la suma de todas las ventas. Piensa que es lo que se repite y lo que
no.
import java.util.Scanner;
public class VentasApp {
System.out.println(sumaVentas);
}
}
� Versi�n con JOptionPane
import javax.swing.JOptionPane;
public class VentasApp {
System.out.println(sumaVentas);
}
}
14) Realiza una aplicaci�n que nos calcule una ecuaci�n de segundo grado. Debes
pedir las variables a, b y c por teclado y comprobar antes que el discriminante
(operaci�n en la ra�z cuadrada). Para la ra�z cuadrada usa el m�todo sqlrt de Math.
Te recomiendo que uses mensajes de traza.
import java.util.Scanner;
public class Ecuacion2GradoApp {
//Mensaje de traza
System.out.println(">>"+discriminante);
if (discriminante>0){
//Tambien se puede hacer por parte si lo ves m�s facil
//recuerda que debes tener en cuenta la prioridad de elementos
double x1=((b*(-1))+Math.sqrt(discriminante))/(2*a);
double x2=((b*(-1))-Math.sqrt(discriminante))/(2*a);
import javax.swing.JOptionPane;
public class Ecuacion2GradoApp {
//Mensaje de traza
System.out.println(">>"+discriminante);
if (discriminante>0){
//Tambien se puede hacer por parte si lo ves m�s facil
//recuerda que debes tener en cuenta la prioridad de elementos
double x1=((b*(-1))+Math.sqrt(discriminante))/(2*a);
double x2=((b*(-1))-Math.sqrt(discriminante))/(2*a);
15) Lee un n�mero por teclado y comprueba que este numero es mayor o igual que
cero, si no lo es lo volver� a pedir (do while), despu�s muestra ese n�mero por
consola.
import java.util.Scanner;
public class Ejercicio_DiscoDurodeRoer_Basicos_15_Scanner {
System.out.println(codigo);
}
}
� Versi�n con JOptionPane
import javax.swing.JOptionPane;
public class ComprobacionApp {
System.out.println(codigo);
}
}
16) Escribe una aplicaci�n con un String que contenga una contrase�a cualquiera.
Despu�s se te pedir� que introduzcas la contrase�a, con 3 intentos.
Cuando aciertes ya no pedir� mas la contrase�a y mostrara un mensaje diciendo
�Enhorabuena�.
Piensa bien en la condici�n de salida (3 intentos y si acierta sale, aunque le
queden intentos)
import java.util.Scanner;
public class Contrase�aApp {
String password;
for (int i=0;i<INTENTOS && !acierto;i++){
System.out.println("Introduce una contrase�a");
password = sc.next();
//Comprobamos si coincide, no usamos ==, usamos el metodo equals
if (password.equals(contrase�a)){
System.out.println("Enhorabuena, acertaste");
acierto=true;
}
}
}
}
� Versi�n con JOptionPane
import javax.swing.JOptionPane;
public class Contrase�aApp {
String contrase�a="eureka";
String password;
for (int i=0;i<3 && !acierto;i++){
password=JOptionPane.showInputDialog("Introduce una contrase�a");
17) Crea una aplicaci�n que nos pida un d�a de la semana y que nos diga si es un
dia laboral o no. Usa un switch para ello.
import java.util.Scanner;
public class DiaApp {
switch(dia){
case "lunes":
case "martes":
case "miercoles":
case "jueves":
case "viernes":
System.out.println("Es un dia laboral");
break;
case "sabado":
case "domingo":
System.out.println("Es un dia festivo");
default:
System.out.println("Introduce un dia de la semana");
}
}
}
� Versi�n con JOptionPane
import javax.swing.JOptionPane;
public class DiaApp {
switch(dia){
case "lunes":
case "martes":
case "miercoles":
case "jueves":
case "viernes":
System.out.println("Es un dia laboral");
break;
case "sabado":
case "domingo":
System.out.println("Es un dia festivo");
default:
System.out.println("Introduce un dia de la semana");
}
}
}
18) Pide por teclado dos n�mero y genera 10 n�meros aleatorios entre esos n�meros.
Usa el m�todo Math.random para generar un n�mero entero aleatorio (recuerda el
casting de double a int).
import java.util.Scanner;
public class GeneraNumApp {
import javax.swing.JOptionPane;
public class GeneraNumApp {
19) Pide por teclado un n�mero entero positivo (debemos controlarlo) y muestra el
n�mero de cifras que tiene.
Por ejemplo: si introducimos 1250, nos muestre que tiene 4 cifras.
Tendremos que controlar si tiene una o mas cifras, al mostrar el mensaje.
import java.util.Scanner;
public class CuentaCifrasApp {
}
}
� Versi�n con JOptionPane
import javax.swing.JOptionPane;
public class CuentaCifrasApp {
int numero=0;
do{
String texto=JOptionPane.showInputDialog("Introduce un numero");
numero=Integer.parseInt(texto);
}while(numero<0); int contador=0; for (int i=numero;i>0;i/=10){
//Incrementamos el contador
contador++;
}
}
}
20) Pide un n�mero por teclado e indica si es un n�mero primo o no. Un n�mero primo
es aquel solo puede dividirse entre 1 y si mismo. Por ejemplo: 25 no es primo, ya
que 25 es divisible entre 5, sin embargo, 17 si es primo.
Un buen truco para calcular la ra�z cuadrada del numero e ir comprobando que si es
divisible desde ese numero hasta 1.
NOTA: Si se introduce un numero menor o igual que 1, directamente es no primo.
import java.util.Scanner;
if (contador < 1) {
System.out.println("El numero " + numero + " es primo");
} else {
System.out.println("El numero " + numero + " no es primo");
}
}
}
}
� Version con JOptionPane
import javax.swing.JOptionPane;
if (contador < 1) {
System.out.println("El numero " + numero + " es primo");
} else {
System.out.println("El numero " + numero + " no es primo");
}
}
}
}
import java.util.Scanner;
if (contador<1){
System.out.println(i);
}
}
}
}
� Versi�n con JOptionPane
if (contador<1){
JOptionPane.showMessageDialog(null, "El numero "+i+" es primo",
"Primo", JOptionPane.INFORMATION_MESSAGE);
}
}
}
}
22) Del siguiente String �La lluvia en Sevilla es una maravilla� cuenta cuantas
vocales hay en total (recorre el String con charAt).
int contador=0;
for (int i=0;i<cadena.length();i++){
//Comprobamos si el caracter es una vocal
if(cadena.charAt(i)=='a' ||
cadena.charAt(i)=='e' ||
cadena.charAt(i)=='i' ||
cadena.charAt(i)=='o' ||
cadena.charAt(i)=='u'){
contador++;
}
}
import java.util.Locale;
import java.util.Scanner;
public class CalculadoraPolacaInversaApp {
}
}
� Versi�n con JOptionPane
import javax.swing.JOptionPane;
public class CalculadoraPolacaInversaApp {
}
}
26) Realizar la suma del 1 al numero que indiquemos, este debe ser mayor que 1.
import java.util.Scanner;
do{
//Pedimos el primer n�mero
num=sn.nextInt();
if(num<=1){
System.out.println("Error. No has introducido un valor correcto."
+ "Vuelve a intentarlo");
}
int suma=0;
//Realizamos la suma
for(int contador=1;contador<=num;contador++){
suma+=contador;
}
27) Crear una aplicaci�n que nos permite insertar n�meros hasta que insertemos un
-1. Calcular el numero de n�meros introducidos.
import java.util.Scanner;
//Pedimos el numero
Scanner sn=new Scanner(System.in);
int num=sn.nextInt();
int contador=0;
contador++;
28) Eliminar los espacios de una frase pasada por consola por el usuario.
import javax.swing.JOptionPane;
String texto=JOptionPane.showInputDialog(null,
"Inserta una frase",
"Inserci�n",
JOptionPane.INFORMATION_MESSAGE);
char caracterActual;
//recorro el array
for(int i=0;i<texto.length();i++){
caracterActual=texto.charAt(i);
JOptionPane.showMessageDialog(null,
"La frase tiene sin espacios es
"+texto_sin_espacios,
"Resultado",
JOptionPane.INFORMATION_MESSAGE);
29) Pedir al usuario que nos escriba frases de forma infinita hasta que insertemos
una cadena vacia. Mostrar la cadena resultante
import javax.swing.JOptionPane;
String texto=JOptionPane.showInputDialog(null,
"Introduce un texto, cadena vacia
para terminar",
"Introducir texto",
JOptionPane.INFORMATION_MESSAGE);
String cadenaResultante="";
//Concatenamos el texto
cadenaResultante+=texto;
JOptionPane.showMessageDialog(null,
cadenaResultante,
"Resultado",
JOptionPane.INFORMATION_MESSAGE);
30) Convertir una frase a may�sculas o min�sculas, que daremos opci�n a que el
usuario lo pida y mostraremos el resultado por pantalla.
� Version 1
import javax.swing.JOptionPane;
String texto=JOptionPane.showInputDialog(null,
"Por favor, introduce una frase",
"Introducci�n",
JOptionPane.INFORMATION_MESSAGE);
String cadenaResultante="";
isMayus= (eleccion==JOptionPane.YES_OPTION);
char caracterActual;
for(int i=0;i<texto.length();i++){
if(isMayus){
}else{
}
}
}
� Version 2
import javax.swing.JOptionPane;
/**
*Ejercicio 30 version 2 B�sicos
* @author Discoduroderoer
*/
public class Ejercicio_basicos_DDR_30_v2 {
String texto=JOptionPane.showInputDialog(null,
"Por favor, introduce una frase",
"Introducci�n",
JOptionPane.INFORMATION_MESSAGE);
String cadenaResultante;
int eleccion=JOptionPane.showConfirmDialog(null,
"�Quieres que se pase a mayusculas?",
"Eleccion",
JOptionPane.YES_NO_OPTION);
isMayus= (eleccion==JOptionPane.YES_OPTION);
import java.util.Scanner;
33) Dada una cadena, extraer la cuarta y quinta letra usando el m�todo substring.
System.out.println(subcadena);
import java.util.Scanner;
for(int i=0;i<palabras.length;i++){
System.out.println(palabras[i]);
}
35) Crea un enum con los d�as de la semana, pide un d�a de la semana e indica si es
laboral o no (en el main).
� Dia de la semana
}
� Main
import java.util.Scanner;
switch(diaS){
case LUNES:
case MARTES:
case MIERCOLES:
case JUEVES:
case VIERNES:
System.out.println("El dia "+diaS.name().toLowerCase()+" es
laborable");
break;
case SABADO:
case DOMINGO:
System.out.println("El dia "+diaS+" no es laborable");
break;
36) Modifica el anterior enum para indicar que es d�a laborable directamente (usar
toString).
� DiaSemana
@Override
public String toString() {
if(laborable){
return "El dia "+ this.name().toLowerCase() +" es laborable";
}else{
return "El dia "+ this.name().toLowerCase() +" no es laborable";
}
}
� Main
import java.util.Scanner;
System.out.println(diaS.toString());
37) Crea el enum Mes, que contenga como parametros el orden(1,2,3,etc) y el numero
de dias (febrero tendra 28 dias siempre).
Estos datos pueden pedirse por separado, asi que tienes que hacer sus respectivos
get. No son necesarios los setters.
Create un arrays de Mes (mirate la funcion values), pide un numero por teclado e
indica que meses tienen ese numero de dias (toda su informacion).
� Mes
this.orden=orden;
this.numDias=numDias;
@Override
public String toString() {
return "El mes "+this.name().toLowerCase()+" es el mes "+orden+"� y tiene
"+numDias+" dias";
}
}
� Principal
import java.util.Scanner;
for(int i=0;i<meses.length;i++){
if(meses[i].getNumDias()==dias){
System.out.println(meses[i].toString());
}
import java.util.Scanner;
//Variables necesarias
int numeroUsuario=0;
int menor=0;
int mayor=0;
int suma=0;
double media;
int contador=-1;
int sumaPositivos=0;
int sumaNegativos=0;
//Creamos el Scanner
Scanner sn = new Scanner(System.in);
do{
//aumento el contador
contador++;
//Calculamos la media
media = (double) suma / contador;
//Variables
int horas = 0, minutos = 0, segundos = 0;
while (true) {
//Mostrar
//Si es menor que 10, escribimos un cero delante
if (horas < 10) {
System.out.print("0");
}
System.out.print(horas + ":");
System.out.print(minutos + ":");
//salto de linea
System.out.println(segundos);
//Aumentar el tiempo
segundos++;
//Comprobar el tiempo
if (segundos == 60) {
//reinicio los segundos
segundos = 0;
//aumento los minutos
minutos++;
if (minutos == 60) {
//Reinicio los minutos
minutos = 0;
//Aumento las horas
horas++;
if (horas == 24) {
//Reinicio las horas
horas = 0;
}
}
}
Thread.sleep(1000);
do {
System.out.println("1-.Crear Fichero");
System.out.println("2-.Mostrar Fichero");
System.out.println("3-.Salir");
opcion = teclado.nextInt();
switch (opcion) {
case 1: {
crearFichero();
break;
}
case 2: {
mostrarFichero();
break;
}
case 3: {
System.out.println("Gracias por usar el programa");
}
default: {
System.out.println("Opcion incorrecta");
}
}
} while (opcion != 3);
}
System.out.println(linea);
linea = br.readLine();
}
}
package ejercicio02tema08;
import java.io.*;
import java.util.Scanner;
opcion = teclado.nextInt();
switch (opcion){
case 1 : {
crearFichero();
break;
}
case 2 : {
mostrarFichero();
break;
}
case 3 : {
System.out.println("Gracias por usar el Programa");
break;
}
default:{
System.out.println("Opcion no Valida");
}
}
}
public static String devolverNombre() {
return nombre;
}
FileWriter fw = null;
try {
fw = new FileWriter(elegirNombre() + ".txt");
PrintWriter pw = new PrintWriter(fw);
escribirFicheo(pw);
} catch (Exception e) {
System.out.println(e.getMessage());
}finally{
try {
if (fw != null) {
fw.close();
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
public static void escribirFicheo(PrintWriter pw) throws Exception{
for (int i = 0; i < 100; i++) {
if (i % 2 == 0 ) {
pw.println(i);
}
}
}
}finally{
if (fr != null) {
try {
fr.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public static void leerFichero(BufferedReader br)throws Exception{
String linea;
linea = br.readLine();
while (linea != null) {
System.out.println(linea);
linea = br.readLine();
}
}
public static void main(String[] args) {
mostrarMenu();
}
try {
File fichero = new File("pp.txt");
fr = new FileReader(fichero);
leerFichero(fr);
} catch (Exception e) {
System.out.println(e.getMessage());
}finally{
if (fr != null) {
try {
fr.close();
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
}
public static void leerFichero(FileReader fr) throws Exception{
int letra;
char caracter;
letra = fr.read();
while (letra != -1) {
caracter=(char)letra;
System.out.print(caracter);
letra = fr.read();
}
}
public static void main(String[] args) {
mostrarFichero();
}
}
public static String solicitarTesto() {
Scanner teclado = new Scanner(System.in);
System.out.println("Introduce el Testo del fichero");
testo = teclado.nextLine();
return testo;
}
} catch (Exception e) {
System.out.println(e.getMessage());
}finally{
try {
if (fw != null) {
fw.close();
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
}
public static void escribirFichero(PrintWriter pw) throws Exception{
pw.println(solicitarTesto());
char [] cadenaFinal;
cadenaFinal= cadena.toCharArray();
char [] cadenaChar;
cadenaChar = cadena.toCharArray();
if (cadenaChar[i] == cadenaMinusculas[j]) {
cadenaFinal[i] = cadenaMaysculas[j];
if (cadenaChar[i] == cadenaMaysculas[j]) {
cadenaFinal[i] = cadenaMinusculas[j];
}
System.out.println(cadenaFinal);
}
char[] cadenaMinusculas = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
'j', 'q', 'l', 'm', 'n', '�', 'o', 'p', 'k', 'r', 's', 't', 'u', 'v', 'w', 'x',
'y', 'z'};
char[] cadenaMaysculas = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
'Q', 'L', 'M', 'N', '�', 'O', 'P', 'K', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y',
'Z'};
linea = br.readLine();
num = Integer.parseInt(linea);
suma = suma + num;
linea = br.readLine();
}
System.out.println("La suma de los numeros es: " + suma);
}