miércoles, 29 de mayo de 2013

Declaración de una clase y definición de objetos en Java

En esta ocasión vamos a ver como trabajamos con la definición de clases y la creación de objetos,
el primer ejemplo es:
Confeccionar una clase que permita carga el nombre y la edad de una persona. Mostrar los datos cargados. Imprimir un mensaje si es mayor de edad (edad>=18):
package javayaej1;
import java.util.Scanner;
public class Javayaej1 {
    //declaracion de los atributos de la clase
    private Scanner t;
    private String nombre;
    private int edad;   
    // metodo para inicializar las variables
    public void inicializar(){
        t=new Scanner(System.in);//creacion del objeto t de la clase Scanner
        System.out.println("Ingrese su nombre: ");
        nombre=t.next();       
        System.out.println("Ingrese su edad: ");
        edad=t.nextInt();       
    }
    // metodo para retornar los valores
    public void mayorOmenor(){
        if(edad>18){
            System.out.println(nombre + " Es mayor de edad , con " + edad + " años");
        }else{
            System.out.println(nombre + " Es menor de edad , con " + edad + " años");
        }
    }   
    public static void main(String[] args) {
        // creacion del objeto persona de la clase Javayaej1       
        Javayaej1 persona = new Javayaej1();
        //llamado de los metodos del objeto persona    
        persona.inicializar();//llamado al metodo inicializar       
        persona.mayorOmenor();//llamado al metodo mayoOmenor
    }
}
Otro ejemplo:
Desarrollar un programa que cargue los lados de un triángulo e implemente los siguientes métodos: inicializar los atributos, imprimir el valor del lado mayor y otro método que muestre si es equilátero o no.
package javayaej1;
//llamado de la triangulo Scanner
import java.util.Scanner;
public class triangulo {
    //declaracion de los atributos
    private Scanner t;
    private int ld1,ld2,ld3;
    //declaracion del metodo inicializar
    public void inicializar(){
        t=new Scanner(System.in);
        System.out.println("Ingrese la medida del lado 1: ");
        ld1=t.nextInt();
        System.out.println("Ingrese la medida del lado 1: ");
        ld2=t.nextInt();
        System.out.println("Ingrese la medida del lado 1: ");
        ld3=t.nextInt();
    }
    //declaracion del metodo para probar si es triangulo equilatero   
    public void equilatero(){
        if((ld1==ld2)&&(ld1==ld3)){
            System.out.println("Es un triangulo equilatero");
        }else{
            System.out.println("No es un triangulo equilatero");
        }
    }   
    public void ladoMayor(){
        if((ld1>ld2)&&(ld1>ld3)){
            System.out.println("El lado mayor es: " + ld1);
        }else if(ld2>ld3){
            System.out.println("El lado mayor es: " + ld2);
        }else{
            System.out.println("El lado mayor es: " + ld3);
        } 
    }
    public static void main(String[] args) {
        //creacion del objeto tri
        triangulo tri = new triangulo();
        //se llama los metodos de la clase tri
        tri.inicializar();
        tri.equilatero();      
        tri.ladoMayor();
    }   
}
Otro ejemplo:
Desarrollar una clase que represente un punto en el plano y tenga los siguientes métodos: cargar los valores de x e y, imprimir en que cuadrante se encuentra dicho punto (concepto matemático, primer cuadrante si x e y son positivas, si x<0 e y>0 segundo cuadrante, etc.)
package punto;
//llamado de la clase Scanner
import java.util.Scanner;
public class Punto {
    //declaracion de los atributos
    private Scanner t;
    private int pX,pY;   
    //metodo inicializador   
    public void inicializar(){
        t=new Scanner(System.in);
        System.out.println("Ingrese la cordenada en X: ");
        pX=t.nextInt();
        System.out.println("Ingrese la cordenada en Y: ");
        pY=t.nextInt();
    }   
    //metodo para imprimir y tomar una decision
    public void retornarCuadrante(){
        if((pX>0)&&(pY>0)){
            System.out.println("El punto esta en el Cuadrante 1 ");
        } else if((pX<0)&&(pY>0)){
            System.out.println("El punto esta en el Cuadrante 2 ");
        } else if((pX<0)&&(pY<0)){
            System.out.println("El punto esta en el Cuadrante 3 ");
        } else if((pX>0)&&(pY<0)){
            System.out.println("El punto esta en el Cuadrante 4 ");
        }       
    }   
    public static void main(String[] args) {
        //instancia p de la clase Punto
        Punto p= new Punto();
        //llamado de los metodos
        p.inicializar();
        p.retornarCuadrante();
    }
}
Otro ejemplo:
Desarrollar una clase que represente un Cuadrado y tenga los siguientes métodos: cargar el valor de su lado, imprimir su perímetro y su superficie.
package Cuadrado;
//llamado de la clase Scanner
import java.util.Scanner;
public class Cuadrado {
    //declaracion de los atributos de la clase Cuadrado
    private Scanner t;
    private int l,pe,ar;   
    public void inicializar(){
        t = new Scanner(System.in);
        System.out.println("Ingrese el valor del lado: ");
        l=t.nextInt();
    }   
    public void calcular(){
        ar=l*l;
        System.out.println("El area del cuadrado es: " + ar);
        pe=4*l;
        System.out.println("El perimetro del cuadrado es: "+ pe);
    }  
    public static void main(String[] args) {
       Cuadrado cu= new Cuadrado();
       cu.inicializar();
       cu.calcular();
    }
}
Otro ejemplo:
Confeccionar una clase que represente un empleado. Definir como atributos su nombre y su sueldo. Confeccionar los métodos para la carga, otro para imprimir sus datos y por último uno que imprima un mensaje si debe pagar impuestos (si el sueldo supera a 3000)
package empleado;
import java.util.Scanner;
public class Empleado {
    private Scanner t;
    private String nombre;
    private int sueldo;   
    public void inicializar(){
        t=new Scanner(System.in);
        System.out.println("Digite el nombre del empleado: ");
        nombre=t.next();
        System.out.println("Digite el sueldo: ");
        sueldo=t.nextInt();
    }   
    public void imprimir(){
        System.out.print("El empleado " + nombre+ " gana "+ sueldo);
    }   
    public void pagarImp(){
        if(sueldo>3000){
            System.out.print(" y debe pagar impuestos ");
        }else{
            System.out.print(" y no debe pagar impuestos ");
        }
    }
    public static void main(String[] args) {
        Empleado emp1 = new Empleado();       
        emp1.inicializar();
        emp1.imprimir();
        emp1.pagarImp();
    }
}
Otro ejemplo:
Implementar la clase operaciones. Se deben cargar dos valores enteros, calcular su suma, resta, multiplicación y división, cada una en un método, imprimir dichos resultados.
package operaciones;
import java.util.Scanner;
public class Operaciones {
    private Scanner t;
    private int v1, v2;
    private double div;
    public void inicializar() {
        t = new Scanner(System.in);
        System.out.println("Ingrese el primer valor: ");
        v1 = t.nextInt();
        System.out.println("Ingrese el segundo valor: ");
        v2 = t.nextInt();
    }
    public int suma() {
        return v1 + v2;
    }
    public int resta() {
        return v1 - v2;
    }
    public int multiplicacion() {
        return v1 * v2;
    }
    public void divison() {
        if (v2 == 0) {
            System.out.println("La division por cero no es posible");
        } else {
            div = v1 / v2;
            System.out.println("La division da: " + div);
        }
    }
    public static void main(String[] args) {
        Scanner teclado = new Scanner(System.in);
        Operaciones op = new Operaciones();
        String dec;
        do {
            op.inicializar();
            System.out.println(" Para suma presione 1 \n Para resta presione 2 \n Para multiplicacion presione 3 \n Para division presione 4");
            System.out.println("Elija una operacion: ");
            int n = teclado.nextInt();
            switch (n) {
                case 1:
                    System.out.println("La suma da: " + op.suma());
                    break;
                case 2:
                    System.out.println("La resta da: " + op.resta());
                    break;
                case 3:
                    System.out.println("La multiplicacion da: " + op.multiplicacion());
                    break;
                case 4:
                    op.divison();
                    break;
            }
            System.out.println("Continuar: S/N");
            dec = teclado.next();
        } while (("s".equals(dec)) || ("S".equals(dec)));
    }
}

Clasicos en Java - Ciclo Do While -

1. Realizar un programa que acumule (sume) valores ingresados por teclado hasta ingresar el 9999 (no sumar dicho valor, indica que ha finalizado la carga). Imprimir el valor acumulado e informar si dicho valor es cero, mayor a cero o menor a cero.
 Scanner t = new Scanner(System.in);
        int num,acumulador=0;      
        System.out.println("Para terminar el programa digite 99999");      
        do{
            System.out.println("Indique un numero: ");
            num=t.nextInt();   
            if(num<99999){                 
            acumulador=acumulador+num;
            }else{
                System.out.println("El programa termino");
            }
        }while(num<99999);
      
        if(acumulador==0){
            System.out.println("El valor acumulado es igual a 0");
        }else if(acumulador>0){
            System.out.println("El valor acumulado es mayor a 0 ");
        }else{
            System.out.println("El valor acumulado es menor a 0");
        }
        System.out.println("El total de la suma de los numeros es: " + acumulador);
2. En un banco se procesan datos de las cuentas corrientes de sus clientes. De cada cuenta corriente se conoce: número de cuenta y saldo actual. El ingreso de datos debe finalizar al ingresar un valor negativo en el número de cuenta.
Se pide confeccionar un programa que lea los datos de las cuentas corrientes e informe:
a)De cada cuenta: número de cuenta y estado de la cuenta según su saldo, sabiendo que:

Estado de la cuenta 'Acreedor' si el saldo es >0.
   'Deudor' si el saldo es <0.
   'Nulo' si el saldo es =0.
b) La suma total de los saldos acreedores.
Scanner t = new Scanner(System.in);
        int numCuenta,acumulador=0,saldo; 
        do{
            System.out.print("Introduzca el numero de cuenta: ");
            numCuenta=t.nextInt();
           
            System.out.print("Introduzca el saldo actual: ");
            saldo=t.nextInt();
           
            if(saldo>0){
                acumulador=acumulador+saldo;
                System.out.println("Es un acreedor");
            }else if(saldo<0){
                System.out.println("Es un deudor");
            }else{
                System.out.println("Esta nulo");
            }
        }while(numCuenta>0);
        System.out.println("El total de saldos acreedores es: " +acumulador);