Por esto las clases propias también se debe organizar en paquetes
Paquete principal o paquete por defecto: Java.lang
Y es el paquete que se puede utilizar por defecto
Para poder utilizar una clase de un paquete que no esta en la clase por defecto debemos
Cuando creamos una clase y no indicamos que la vamos a crear dentro de un paquete eclipse nos tira el siguiente mensaje y es solamente por causa de organización
Por esto debemos guardarlo dentro de un paquete
Por tanto si creamos un proyecto y utilizamos la clase String no ocurre ningún problema ya que pertenece a la clase Java.lang y esta incluida por defecto
Pero que pasa si desea utilizar una clase que no esta dentro de Java.lang
Por esto en el programa hay que indicarle con import que vamos a utilizar una clase que no pertenece a la clase Java.lang
Puede ser con *, pero aquí estamos importando todas las clases
Pero si se reserva la memoria necesaria para almacenar la clases
Pero si solo vas utilizar una
Salidas y Entradas de Datos
Clase: Scanner
Permite introducir información por la consola
Tiene 3 métodos principales que pemiten introducir:
nextLine: texto
nextInt: números enteros
nextInt: números dobles
Clase: JOptionPane
permite introducir texto
NOTA: métodos estáticos y métodos
NOTA: showInputDialog es un método estático, esto quiere decir que si queremos utilizar lo debemos hacer:
JOptionPane.showInputDialog();
Otro ejempplo de un método estático es
Math.round(3)
Y métodos que nos son estáticos nos obligan a instanciar un objeto de la clase
Por ejemplo:
Scanner miScanner;
miScanner.nextLine();
NOTA: CONSTRUCTOR
Es un método que posee el mismo nombre que la clase
Puede tener uno o varios constrcutores
Va depender de la cantidad de parametros
para este ejemplo vamos a utilizar el primer constructor y de entrada le vamos a indicar que vamos a utilizar «System.in»
Para crear un constructor utilizamos «new»
Scanner entrada = new Scanner(System.in);
Ejemplo
package pildoras;
import java.util.Scanner;
public class EntradaEjemplo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Creamos un objeto de tipo Scanner
Scanner entrada = new Scanner(System.in);
// Creamos un mensaje que le permite al usuario introducir su nombre
System.out.println("Por favor introduce tu nombre: ");
// Mostramos la ventana para solicitar el nombre
String nombreUsuario = entrada.nextLine();
// Creamos un mensaje que le permite al usuario introducir su edad
System.out.println("Por favor introduce tu edad: ");
// Mostramos la ventana para solicitar la edad
int edadUusario = entrada.nextInt();
// Creamos un mensaje que le permite la información introducida
System.out.println("Hola "+ nombreUsuario + ". El año que viene tendrás " + (edadUusario +1) + " años");
}
}
Clase: JOptionPane
Pertenece a
javax.swing
Ejemplo
package pildoras;
import javax.swing.JOptionPane;
public class EntradaEjemplo2 {
public static void main(String[] args) {
// showInputDialog: solicita un String
String nombreUsuario = JOptionPane.showInputDialog("Introduce tu nombre:");
// showInputDialog: solicita un String
String edadUsuario = JOptionPane.showInputDialog("Introduce tu edad:");
//Por tanto debemos parsear el String a int
int edadFinal = Integer.parseInt(edadUsuario);
// mostramos el mensaje
System.out.println("Hola " + nombreUsuario + ". Elaño que viene tendrás: "+ (edadFinal+1) + " años");
}
}
NumberFormat
Para establecerle un formato a un número utilizamos NumberFormat
package pildoras;
public class FormatoDeNumeros {
public static void main(String[] args) {
// Declaramos una variable de tipo docuble
double x= 10000.0;
//Mandamos a imprimir con formato
// para esto utilizamos en vez de println printf (Impresión con formato )
// printf("formato", valor)
System.out.printf("%1.2f", x/3);
}
}
Otro ejemplo
package pildoras;
import javax.swing.JOptionPane;
public class FormatoDeNumeros {
public static void main(String[] args) {
// Recibimos el valor del usuario
String num1 =JOptionPane.showInputDialog("Introduce un número:");
// convertimos a Double que es lo que ocupa sqrt
double num2 = Double.parseDouble(num1);
// Se usa printpara que no genere salto de linea
System.out.print("La raíz de " + num2 + " es ");
// Imprimimos la raíz cuadrad
System.out.printf("%1.2f", Math.sqrt(num2));
}
}
Estructuras de control: Condicionales y blucle
Condicionales
Condicional: IF
Ejemplo1: IF
package pildoras;
import java.util.*;
public class Condicionales004 {
public static void main(String[] args) {
// Declaramos una varible de tipo Scanner para recibir los datos del usuario
Scanner entrada = new Scanner(System.in);
//Mostramos un mensaje
System.out.println("Itroduce tu edad:");
// Obtenemos el dato del usuario
int edad = entrada.nextInt();
// Condicional
if(edad>=18) {
System.out.println("Usted es mayor de edad");
}else {
System.out.println("Usted es menor de edad");
}
}
}
Condicional: Switch
package pildoras;
import java.util.*;
import javax.swing.*;
public class Switch {
public static void main(String[] args) {
// Declaramos una variable entrada donde se almacenara los datos introducidos por el usuario
Scanner entrada = new Scanner(System.in);
//Creamos un menú de opciones
System.out.println("Elige una opción: \n1: Cuadrado \n2: Rectángulo \n3: Triángulo \n4: Círculo");
//Almacenamos el datos introducido por el usuario
int figura = entrada.nextInt();
// Usi de Switch
switch(figura) {
// Cuadrado
case 1:
int lado = Integer.parseInt(JOptionPane.showInputDialog("Introduce el lado: "));
System.out.println("El área del cuadrado es: " + Math.pow(lado,2));
break;
// Rectangulo
case 2:
int base = Integer.parseInt(JOptionPane.showInputDialog("Introduce la base: "));
int altura = Integer.parseInt(JOptionPane.showInputDialog("Introduce la altura: "));
System.out.println("El área del rectángulo es: " + base*altura);
break;
// Triángulo
case 3:
base = Integer.parseInt(JOptionPane.showInputDialog("Introduce la base: "));
altura = Integer.parseInt(JOptionPane.showInputDialog("Introduce la altura: "));
System.out.println("El área del triángulo es: " + (base*altura)/2 );
break;
// Círculo
case 4:
int radio = Integer.parseInt(JOptionPane.showInputDialog("Introduce el radio: "));
System.out.print("El área del círculo es: " );
System.out.printf("%1.2f", Math.PI * ( Math.pow(radio,2) ) );
break;
// Default
default:
System.out.println("La opción no es correcta");
}
}
}
Ciclos: Clasificación
Indeterminados: No se sabe cuantas veces se va a repetir
determinado: se sabe cuantas veces se va a ejecutar
Ciclo: While
package pildoras;
import javax.swing.*;
public class AccesoAplicacion {
public static void main(String[] args) {
// TODO Auto-generated method stub
String clave = "tavo";
String pass = "";
while(clave.equals(pass)==false) {
pass=JOptionPane.showInputDialog("Introduce la contraseña: ");
if(clave.equals(pass)==false) {
System.out.println("Contraseña incorrecta");
}
}
System.out.println("Contraseña correcta, acceso concedido");
}
}
While ejemplo 2: juego adivina número
package pildoras;
import java.util.*;
public class AdivinaNumero {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Generamos un número aleatorio en tre 0 y 100
int aleatorio = (int)(Math.random()*100);
// Solicitar un número
Scanner entrada = new Scanner(System.in);
int numero=0;
int intentos=0;
// Mientras sea diferentes
while(numero!=aleatorio) {
//Mostramos mensaje
System.out.println("Introdue un número, por favor");
numero = entrada.nextInt();
// Si es mensor
if(aleatorio<numero) {
System.out.println("Intenta un número más bajo ");
// Si es mayor
}else if(aleatorio > numero) {
System.out.println("Intenta un número más alto ");
}
intentos++;
}
System.out.println("Has adivinado el número en: " + intentos + " intentos");
System.out.println(aleatorio);
}
}
Do -while
Ejecuta el código al menos una vez
package pildoras;
import java.util.*;
public class doWhile020 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//Generamos un número aleatorio en tre 0 y 100
int aleatorio = (int)(Math.random()*100);
// Solicitar un número
Scanner entrada = new Scanner(System.in);
int numero=0;
int intentos=0;
// Do while hace que el código se ejecute al menos una vez
do{
//Mostramos mensaje
System.out.println("Introdue un número, por favor");
numero = entrada.nextInt();
// Si es mensor
if(aleatorio<numero) {
System.out.println("Intenta un número más bajo ");
// Si es mayor
}else if(aleatorio > numero) {
System.out.println("Intenta un número más alto ");
}
intentos++;
}while(numero!=aleatorio);
System.out.println("Has adivinado el número en: " + intentos + " intentos");
System.out.println(aleatorio);
}
}
Ejemplo02: Peso ideal
package pildoras;
import javax.swing.*;
public class doWhile020Pesoideal {
public static void main(String[] args) {
// Variable para almacenar el genero
String genero="";
//Creamos un ciclo para pedir si es Hombre o Mujer hasta que digite h o m
do {
genero = JOptionPane.showInputDialog("Introduce tu género (H/M)");
}while(
(genero.equalsIgnoreCase("H") == false) &&
(genero.equalsIgnoreCase("M")== false)
);
int altura = Integer.parseInt(JOptionPane.showInputDialog("Introduce tu altura en cm:"));
int pesoIdeal = 0;
if(genero.equalsIgnoreCase("H")) {
pesoIdeal = altura-110;
}else if(genero.equalsIgnoreCase("M")) {
pesoIdeal = altura-120;
}
System.out.println("Tu peso ideal es: " + pesoIdeal+ "kg");
}
}
For
ciclo determinado
Se sabe cuantas veces se debe ejecutar
package pildoras;
public class cicloFor021 {
public static void main(String[] args) {
for(int i=0; i<10; i++ ){
System.out.println("Gustavo");
}
}
}
Ejemplo02 for: valida correo
package pildoras;
import javax.swing.*;
public class cicloFor021VerificaEmail {
public static void main(String[] args) {
// guardamos el correo
String email = JOptionPane.showInputDialog("Introduce el email");
// Para verificar que solo hay una arroba
int arroba = 0;
// Para que almenos tenga un punto
boolean punto = false;
//Recorremos la cadena
for(int i =0; i< email.length(); i++) {
if(email.charAt(i)=='@') {
arroba++;
}
if(email.charAt(i)=='.') {
punto = true;
}
}
if(arroba==1 && punto==true) {
System.out.println("El correo es correcto");
}else {
System.out.println("El correo NO es correcto");
}
}
}
Factorial
package pildoras;
import javax.swing.*;
public class cicloForFactorial {
public static void main(String[] args) {
// calcula factorial
Long resultado=1;
int numero = Integer.parseInt(JOptionPane.showInputDialog("Introduce un número"));
for(int i = numero; i >0; i--) {
resultado=resultado*i;
}
System.out.println("El factorial de "+ numero + " es " + resultado);
}
}