Das ist meine die letzte Aufgabe die ich hab, habs versucht sie selber zu lösen, doch bin steckengeblieben (siehe code)
es geht darum, dass das progi bei eingabe eines Buchstabens abstürzt.
mit hilfe von try & catch & continue ist es möglich diesen fehler zu beheben.
so das nur zahlen eingegeben werden können.
bin soweit das er erst bei dem monat hängen bleibt, muss ich da das gleiche wie mit dem Tag machen?
Danke danke danke:blink:
Werd euch bestimmt nicht mehr stören.
PHP-Quellcode
- import java.util.*;
- public class Dokument2 {
- public static void main(String args[]) {
- int tag, monat, jahr, jh, ja, ziffer, formel;
- System.out.println("");
- System.out.println
- ("Das Programm kann bei der Eingabe Tag mit Leerzeile abgebrochen werden!!! ");
- do {
- try {
- System.out.println("");
- Scanner sc = new Scanner(System.in);
- System.out.println("Tag: ");
- String tagStr = sc.nextLine();
- if (tagStr.length() == 0){
- System.out.println("Das Programm wurde abgebrochen!! ");
- break;
- }
- else{
- tag = Integer.parseInt(tagStr);
- }
- }
- catch (NumberFormatException sc )
- {
- System.out.println("Sie haben falsche Daten eingegeben." );
- System.out.println("Bitte geben Sie eine Zahl ein.\n" );
- }
- if (true)
- continue;
- System.out.println("Monat: ");
- monat = sc.nextInt();// ("Monat: ");
- System.out.println("Jahr: ");
- jahr = sc.nextInt();// ("Jahr: ");
- System.out.print("\n Das Datum " + tag + "." + monat + "." + jahr
- + " ist ein ");
- jh = jahr / 100; /* Jahrhundert */
- ja = jahr % 100; /* Jahr im Jahrhundert */
- if (monat > 2) {
- monat -= 3;
- } else {
- monat += 9;
- ja--;
- }
- formel = (146097 * jh) / 4 + (1461 * ja) / 4 + (153 * monat + 2)
- / 5 + tag + 1721119;
- switch (formel % 7) {
- case 0:
- System.out.println("Montag");
- break;
- case 1:
- System.out.println("Dienstag");
- break;
- case 2:
- System.out.println("Mittwoch");
- break;
- case 3:
- System.out.println("Donnerstag");
- break;
- case 4:
- System.out.println("Freitag");
- break;
- case 5:
- System.out.println("Samstag");
- break;
- case 6:
- System.out.println("Sonntag");
- break;
- }
- if (jahr % 400 == 0 || jahr % 100 != 0 && jahr % 4 == 0) {
- System.out.println(" Das Jahr " + jahr + " ist ein Schaltjahr");
- }
- else {
- System.out.println(" Das Jahr " + jahr + " ist kein Schaltjahr");
- }
- } while (true);
- }
- }