Java - Domingo de Pascua en Applet

 
Vista:

Domingo de Pascua en Applet

Publicado por Miguel Espinoza (12 intervenciones) el 04/09/2003 06:52:55
buenas!. Mi problema es el siguiente, debo calcular el Domingo de Pascua de cualquier "agno" comprendido entre el 1583 y el 100000. A continuacion presento el codigo que he desarrollado, lo que tengo entre parentesis es un lo que debo traducir a lenguaje de Java, ahora, este codigo no debe utilizar el IF...ELSE formato, sino el E +=(E=E)?E++:E; En este ejemplo se pregunta si E es igual a E, si es cierto le suma uno y si es falso entonces deja E, (obvio es el resultado pero es ilustrativo). Utilizo el JBuilder 9. Muchas gracias y aqui va el codigo:

import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import javax.swing.*;


public class tarea3 extends JApplet implements ActionListener {
JTextArea resultado;
JTextField textoEntrada;

// initialize the applet
public void init() {
JLabel lblTitulo, lblEntrada, lblSalida;
JButton btnProcesar;
Container contString = getContentPane();
contString.setLayout(new FlowLayout());
lblTitulo = new JLabel("Programa Tarea");
contString.add(lblTitulo);
lblEntrada = new JLabel("Digite el texto");
contString.add(lblEntrada);
textoEntrada = new JTextField(20);
contString.add(textoEntrada);
btnProcesar = new JButton("Procesar");
btnProcesar.addActionListener(this);
contString.add(btnProcesar);
lblSalida = new JLabel(" Resultado: ");
contString.add(lblSalida);
resultado = new JTextArea(6, 20);
resultado.setEnabled(false);
contString.add(new JScrollPane(resultado));
}
//metodo actionPerformed
public void actionPerformed (ActionEvent e){
String cadena = "", salida = "";
cadena = textoEntrada.getText();
int A = Integer.parseInt(cadena);

int n = CalcularN(A);
salida += "Domingo de Pascua del año " + A + ": " +"\n"+" "+ n +" de marzo";
resultado.setText(salida);
}
private int CalcularN(int L) {
int G;
G = L%19 + 1;
int C;
C = (L/100)+1;

L = (3*C/4) - 12;
int Z;
Z = ((8*C + 5) / 25) -5;
//a encontrar el domingo de pascua

int D;
D = (5*L/4) - L -10;
int E;
E = (11*G + 20 + Z - L)%30;
E +=(E<0)?E+30:E;
/* debo pasar de este pseudocodigo:
Si (E = 25 y G > 11), o si E = 24
entonces incremente E en 1*/
int N;
N = 44 - E;
N +=(N<21)?N+30:N;

N = N + 7 - ((D + N) % 7);


String tira=("domingo");
tira +=(L<32)?L+"de marzo":(L-31)+"de abril";
return L;

}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder