Hi,
ich habe folgende Aufgabe bekommen:
Ich soll eine Textdatei erstellen, die in jeder Zeile eine Jahreszahl beinhaltet. Danach soll ich diese mithilfe von JFileChooser einlesen und berechnen, ob die in der Datei stehenden Jahre, Schaltjahre sind oder nicht. Dann soll ich das Ergebnis graphisch ausgeben lassen (also nicht über die Konsole) und zwar einmal alle Schaltjahre gemeinsam und einmal alle Nicht-Schaltjahre.
Außerdem soll ich das ganze als 2 Dateien vorlegen, also als Working Class und Main Class getrennt.
Soweit bin ich bis jetzt gekommen (bs jetzt ohne JFileChooser und graphische Ausgabe):
import java.io.*;
import java.util.*;
class ReadFile3
{
public static void main(String[] args) throws IOException
{
FileReader fr = new FileReader("Jahreszahlen.txt");
BufferedReader br = new BufferedReader(fr);
ArrayList <String> jahresListe = new ArrayList();
ArrayList <Integer> leapYearList = new ArrayList();
String zeile = br.readLine();
while( zeile != null )
{
jahresListe.add(zeile);
zeile = br.readLine();
}
System.out.println(jahresListe);
LeapYear ly = new LeapYear();
for(int i = 0; i<jahresListe.size();i++ ) {
int myInt = Integer.parseInt(jahresListe.get(i));
if(ly.isLeapYear(myInt) == true){
leapYearList.add(myInt);
}
} // end of for
System.out.println(leapYearList);
br.close();
}
}
Und dann noch der Code zum Berechnen:
public class LeapYear {
public void LeapYear(){
}
/**
* Ein Jahr ist ein Schaltjahr, wenn die Jahreszahl durch 4 teilbar ist.
* wenn die Jahreszahl durch 4, aber nicht durch 100 teilbar ist. wenn die
* Jahreszahl durch 4, durch 100 und durch 400 teilbar ist.
*/
public static boolean isLeapYear(int year) {
if (year % 4 == 0) {
if (year % 100 == 0 && year % 400 == 0) {
return true;
} else {
if (year % 100 == 0 && year % 400 != 0) {
return false;
}
}
return true;
}
return false;
}
}