jueves, 29 de julio de 2010

Año bisiesto en JAVA

Los años bisiestos son aquellos que duran 366 días en vez de los 365 normales. El día de más que tiene el año es el 29 de febrero. Esto sucede para corregir el desfase real de la duración de un año, que es de 365 días y 6 horas.

Para saber si un año es bisiesto se puede aplicar una simple formula, la cual dice que un año es bisiesto si es divisible por cuatro, excepto los principios de año (los divisibles por 100), que para ser bisiestos deben de ser divisibles también por 400.

Si tenemos que resolver esto con un lenguaje de programación como JAVA solo nos harían falta unas pequeñas líneas de código para llevar a cabo la definición anterior. Sería algo así como:

if ((anio % 4 == 0) && ((anio % 100 != 0) || (anio % 400 == 0)))
System.out.println("El año es bisiesto");
else
System.out.println("El año no es bisiesto");

Pero JAVA nos ofrece una forma todavía más sencilla de resolver si un año es bisiesto. Y es que nos proporciona la clase GregorianCalendar y en concreto el método .isLeapYear(anio). Este método devolverá true o false, según corresponda.

De esta manera el código sería el siguiente:

GregorianCalendar calendar = new GregorianCalendar();

if (calendar.isLeapYear(anio))
System.out.println("El año es bisiesto");
else
System.out.println("El año no es bisiesto");



Código tomado de:
http://lineadecodigo.com/java/ano-bisiesto-en-java/

Greenfoot es un sistema interactivo de Java


Greenfoot es un sistema interactivo de Java entorno de desarrollo diseñado principalmente para fines educativos. Permite un fácil desarrollo de aplicaciones gráficas de dos dimensiones, como las simulaciones y juegos interactivos.

Greenfoot se está desarrollando actualmente en la Universidad de Kent y la Universidad de Deakin, con el apoyo de Sun Microsystems . Es software libre, y su aplicación se basa en el BlueJ entorno de desarrollo. Greenfoot está disponible para Microsoft Windows , Mac OS X , Linux , Sun Solaris , y las recientes JVM .



Download Greenfoot
http://www.greenfoot.org/download/

Uso del Switch - Ejemplo

public class Uso_Switch {

public static void main(String[] args) {
int mesNumero;

Scanner lector = new Scanner(System.in);

System.out.print("Numero de mes: ");
mesNumero = lector.nextInt();

switch (mesNumero) {
case 1:
System.out.println("ENERO");
break;
case 2:
System.out.println("FEBRERO");
break;
case 3:
System.out.println("MARZO");
break;
case 4:
System.out.println("ABRIL");
break;
case 5:
System.out.println("MAYO");
break;
case 6:
System.out.println("JUNIO");
break;
case 7:
System.out.println("JULIO");
break;
case 8:
System.out.println("AGOSTO");
break;
case 9:
System.out.println("SEPTIEMBRE");
break;
case 10:
System.out.println("OCTUBRE");
break;
case 11:
System.out.println("NOVIEMBRE");
break;
case 12:
System.out.println("DICIEMBRE");
break;
default:
System.out.println("No equivale a ningun mes");
}
;
}
}

Triangulo de pascal JAVA

public class triangulo_pascal {

public static void main(String[] args) {
Scanner leer = new Scanner(System.in);
System.out.println("Hasta ke linea decea trabajar: ");
int limite = leer.nextInt();

System.out.println("");
int[] a = new int[1];
for (int i = 1; i <= limite; i++) {
int[] x = new int[i];
for (int j = 0; j < i; j++) {
if (j == 0 || j == (i - 1)) {
x[j] = 1;
} else {
x[j] = a[j] + a[j - 1];
}
System.out.print(x[j] + " ");
}
a = x;
System.out.println();
}
}
}

Matriz 3x3, Presenta, Diagonal Principal y Secundaria

public class matriz {

public static void main(String[] args) {
int numeros[][] = new int[3][3];
int valor;
Scanner lector = new Scanner(System.in);

System.out.println("MATRIZ CUADRADA 3 X 3");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.println("Ingrese el valor de " + i + " y" + j + ": ");
valor = lector.nextInt();
numeros[i][j] = valor;
}
}

System.out.println("");
System.out.println("Presentacion de la matriz");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
System.out.print(numeros[i][j] + "\t");
if (j == 2) {
System.out.print("\n");
}
}
}

System.out.println("");
System.out.println("Diagonal Principal");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i == j) {
System.out.print(numeros[i][j] + " ");
}
}
}
System.out.println("\n");
System.out.println("Diagonal Secundaria");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (i == 0 && j == 2) {
System.out.print(numeros[i][j] + " ");
}
if (i == 1 && j == 1) {
System.out.print(numeros[i][j] + " ");
}
if (i == 2 && j == 0) {
System.out.print(numeros[i][j] + " ");
}
}
}
System.out.println("\n");
}
}

Presentar numeros fibonaci y sumarlos en JAVA

public class suma_fibonacci {

public static void main(String[] args) {
int actual, ant1, ant2;
int resultado = 1;
ant1 = 1;
ant2 = 1;
int n;

Scanner lector = new Scanner(System.in);
System.out.println("Hasta que numero desea presentar: ");
n = lector.nextInt();

System.out.println("Valores fibonacci son:");
if (n == 0) {
actual = 1;
resultado = 1;
System.out.println("El resultado es: " + resultado);
System.out.println(actual);
} else {
if (n == 1) {
actual = 1;
resultado = 1;
System.out.println("El resultado es: " + resultado);
System.out.print(actual);
} else {
System.out.print("1 \t");
for (int i = 2; i <= n; i++) {
actual = ant1 + ant2;
ant2 = ant1;
ant1 = actual;
System.out.print(ant2 + "\t");
resultado = resultado + ant2;
}
System.out.println("El resultado es: " + resultado);
}
System.out.println("");
}
}
}

LA CLASE MATH

La clase Math representa la librería matemática de Java. Las funciones que contiene son las de todos los lenguajes, parece que se han metido en una clase solamente a propósito de agrupación, por eso se encapsulan en MathEl constructor de la clase es privado, por los que no se pueden crear instancias de la clase. Sin embargo, Math es public para que se pueda llamar desde cualquier sitio y static para que no haya que inicializarla.

Funciones matemáticas

Si se importa la clase, se tiene acceso al conjunto de funciones matemáticas estándar:

Math.abs( x ) para int, long, float y double
Math.sin( double )
Math.cos( double )
Math.tan( double )
Math.asin( double )
Math.acos( double )
Math.atan( double )
Math.atan2( double,double )
Math.exp( double )
Math.log( double )
Math.sqrt( double )
Math.ceil( double )
Math.floor( double )
Math.rint( double )
Math.pow( a,b )
Math.round( x ) para double y float
Math.random() devuelve un double
Math.max( a,b ) para int, long, float y double
Math.min( a,b ) para int, long, float y double
Math.E para la base exponencial
Math.PI para PI

He aquí un ejemplo:

    class Mates {
public static void main( String args[] ) {
int x;
double rand,y,z;
float max;

rand = Math.random();
x = Math.abs( -123 );
y = Math.round( 123.567 );
z = Math.pow( 2,4 );
max = Math.max( (float)1e10,(float)3e9 );

System.out.println( rand );
System.out.println( x );
System.out.println( y );
System.out.println( z );
System.out.println( max );
}
}


Link de busqueda:
http://www.webtaller.com/manual-java/clase-math.php

Lectura de datos por Consola con Java

Una forma más sencilla que el habitual manejo de Lectura de datos por Consola con Java.

La utilización de la clase Scanner es muy sencilla. Lo primero que tenemos que hacer es declarar un objeto Scanner instanciandolo contra la consola, es decir, contra el objeto System.in

Scanner reader = new Scanner(System.in);
String sTexto = reader.next();

y como ejemplo tenemos el siguiente:

do {
sTexto = reader.next();
System.out.println(sTexto);
} while(!sTexto.equals("FIN"));

Este ejemplo va a ir leyendo las palabras ingresadas hasta que la palabra ingresada sea igual a FIN.

Para leer tipo de dato entero la lectura se realiza de la siguiente manera:

Scanner reader = new Scanner(System.in);
int sTexto = reader.nextInt();





Operadores en JAVA

Operadores para ser desarrollados en JAVA

OPERADORES

Control de Flujo

Control de Flujo en JAVA

Control de Flujo

Manual Java Introductorio

Manual Introductorio de JAVA

Manual Java

Dividir en JAVA sin usar "/" o "%"

Dividir sin usar "/" o "%" y con un solo metodo.

public static void main(String[] args) {
Scanner lector = new Scanner(System.in);
System.out.println("Ingrese el dividendo: ");
int dividendo = lector.nextInt();
System.out.println("Ingrese el divisor: ");
int divisor = lector.nextInt();
String value = Integer.toString(divisor);

double division = DIVISION(dividendo, divisor);
System.out.println("El cociente es: " + division);
}

private static double DIVISION(double dividendo, double divisor) {
int cont;
if (divisor == 0) {
System.out.println("no se puede dividir para cero");
System.exit(0);
}
for (cont = 0; dividendo > 0; cont++) {
if (dividendo < divisor) {
break;
}
dividendo = dividendo - divisor;
}
System.out.println("El residuo es:" + (dividendo));
return cont;
}

Descarga NetBeans

¡Descarga NetBeans!



Descarga la última versión del NetBeans IDE.

Si está interesado en escribir aplicaciones sobre NetBeans Platform, descarge la última versión de NetBeans Platform.

http://netbeans.org/index.html