Übung 3

  • Java

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • So, dank eurer Hilfe bin ich mit den Aufgaben fast fertig. Danke nochmals.
    Das Script läuft super! hab es geschafft, dass alles in einer endlos schlaufe läuft, doch nun ist die Aufgabe das Script zu beenden und zwar wie folgt:

    Sobald in der Tag eingabe ein "enter" also nix eingegeben wird, soll das programm beendet werden, mit der aussage programm wurde beendet.

    Die Eingabe wird vorzugsweise zuerst in eine String-Variable eingelesen (Beispiel: tagStr = sc.nextLine();).
    Die String-Variable kann nun mit der Methode length() geprüft werden. Ist die Länge 0, hat der Benutzer eine Leerzeile eingegeben.
    Der String soll für die weiteren Berechnungen wieder als Integer genutzt werden können. Die Konvertierung des Strings kann nun folgendermassen erfolgen: tag = Integer.parseInt(tagStr);

    hier noch der neue code (funzt)


    PHP-Quellcode

    1. import java.util.*;
    2. public class Aufgabe6 {
    3. public static void main (String args[]) {
    4. int tag, monat, jahr,
    5. jh, ja, formel;
    6. Scanner sc = new Scanner (System.in);
    7. do {
    8. System.out.println("Tag: ");
    9. tag = sc.nextInt(); //("Tag: ");
    10. System.out.println("Monat: ");
    11. monat = sc.nextInt();//("Monat: ");
    12. System.out.println("Jahr: ");
    13. jahr = sc.nextInt();//("Jahr: ");
    14. System.out.print("Das Datum " + tag + "." + monat + "." + jahr + " ist ein ");
    15. jh = jahr / 100; /* Jahrhundert */
    16. ja = jahr % 100; /* Jahr im Jahrhundert */
    17. if (monat>2) {
    18. monat -=3;
    19. } else {
    20. monat += 9;
    21. ja--;
    22. }
    23. formel = (146097*jh)/4 + (1461*ja)/4 + (153*monat+2)/5 + tag + 1721119;
    24. switch (tag%7) {
    25. case 0:
    26. System.out.println("Montag");
    27. break;
    28. case 1:
    29. System.out.println("Dienstag");
    30. break;
    31. case 2:
    32. System.out.println("Mittwoch");
    33. break;
    34. case 3:
    35. System.out.println("Donnerstag");
    36. break;
    37. case 4:
    38. System.out.println("Freitag");
    39. break;
    40. case 5:
    41. System.out.println("Samstag");
    42. break;
    43. case 6:
    44. System.out.println("Sonntag");
    45. break; }
    46. if (jahr%400 == 0 || jahr%100 != 0 && jahr%4 == 0) {
    47. System.out.println(" Das Jahr " +jahr +" ist ein Schaltjahr");
    48. }
    49. else
    50. {
    51. System.out.println(" Das Jahr " +jahr +" ist kein Schaltjahr");
    52. }
    53. } while(true);
    54. }
    55. }
    Alles anzeigen


    Vielen Dank
    :tata: :drum: :band: :hit:

    Keiner ne Ideeeeee?

    :confused:
  • was ist den ein push?

    ich weiss ja auch wie das eigentlich machbar währe, doch bei mir gehts nicht, hab irgendwo einen kleinen fehler gemacht.

    z.b. weiss ich nicht ob der befehl

    tagStr = sc.nextLine();

    vor oder nach Scanner sc = new Scanner (System.in); kommt.

    ausserdem verstehe ich nicht wieso man diesen schritt:

    "Die Konvertierung des Strings kann nun folgendermassen erfolgen: tag = Integer.parseInt(tagStr);"

    durchführen muss

    ich probiers nochmal, doch wäre nett wenn ich etwas hilfe krieg.

    danke
  • PHP-Quellcode

    1. import java.util.*;
    2. public class Test {
    3. public static void main(String args[]) {
    4. int tag, monat, jahr, jh, ja, formel;
    5. Scanner sc = new Scanner(System.in);
    6. do {
    7. System.out.println("Tag: ");
    8. String tagStr = sc.nextLine();
    9. if (tagStr.equals("")){
    10. break;
    11. }
    12. else{
    13. tag = Integer.parseInt(tagStr);
    14. }
    15. System.out.println("Monat: ");
    16. monat = sc.nextInt();// ("Monat: ");
    17. System.out.println("Jahr: ");
    18. jahr = sc.nextInt();// ("Jahr: ");
    19. System.out.print("Das Datum " + tag + "." + monat + "." + jahr
    20. + " ist ein ");
    21. jh = jahr / 100; /* Jahrhundert */
    22. ja = jahr % 100; /* Jahr im Jahrhundert */
    23. if (monat > 2) {
    24. monat -= 3;
    25. } else {
    26. monat += 9;
    27. ja--;
    28. }
    29. formel = (146097 * jh) / 4 + (1461 * ja) / 4 + (153 * monat + 2)
    30. / 5 + tag + 1721119;
    31. switch (tag % 7) {
    32. case 0:
    33. System.out.println("Montag");
    34. break;
    35. case 1:
    36. System.out.println("Dienstag");
    37. break;
    38. case 2:
    39. System.out.println("Mittwoch");
    40. break;
    41. case 3:
    42. System.out.println("Donnerstag");
    43. break;
    44. case 4:
    45. System.out.println("Freitag");
    46. break;
    47. case 5:
    48. System.out.println("Samstag");
    49. break;
    50. case 6:
    51. System.out.println("Sonntag");
    52. break;
    53. }
    54. if (jahr % 400 == 0 || jahr % 100 != 0 && jahr % 4 == 0) {
    55. System.out.println(" Das Jahr " + jahr + " ist ein Schaltjahr");
    56. }
    57. else {
    58. System.out
    59. .println(" Das Jahr " + jahr + " ist kein Schaltjahr");
    60. }
    61. } while (true);
    62. }
    63. }
    Alles anzeigen
  • Thank You Stelzi

    doch kann mit " if (tagStr.equals("")){ " nicht viel anfangen, denn in der aufgabe steht nix von equals :( es sollte mit lenght machbar sein, doch vielen dank, nun werde ich es selber nochmal ausprobieren, jetzt hab ich ja deine vorlage, nun ist es nicht schwer ein lenght einzufügen.

    melde mich.

    danke
  • hatte die gleiche Idee, doch funzt neeed :(
    jetzt endet das progi sobald ich irgend eine zahl eingebe :( ausser wenn ich nix eingebe:confused: ich krieg die kriese:mad:
    nix läuft so wie es sollte.:würg:

    hat jemand ne ideeeeeeeeee

    PHP-Quellcode

    1. import java.util.*;
    2. public class Aufgabe66 {
    3. public static void main(String args[]) {
    4. int tag, monat, jahr, jh, ja, formel;
    5. Scanner sc = new Scanner(System.in);
    6. do {
    7. System.out.println("Tag: ");
    8. String tagStr = sc.nextLine();
    9. if(tagStr.length() == 0) {
    10. break;
    11. }
    12. else{
    13. tag = Integer.parseInt(tagStr);
    14. }
    15. System.out.println("Monat: ");
    16. monat = sc.nextInt();// ("Monat: ");
    17. System.out.println("Jahr: ");
    18. jahr = sc.nextInt();// ("Jahr: ");
    19. System.out.print("Das Datum " + tag + "." + monat + "." + jahr
    20. + " ist ein ");
    21. jh = jahr / 100; /* Jahrhundert */
    22. ja = jahr % 100; /* Jahr im Jahrhundert */
    23. if (monat > 2) {
    24. monat -= 3;
    25. } else {
    26. monat += 9;
    27. ja--;
    28. }
    Alles anzeigen


    das ist nur der obere teil, probierts mal aus, doch dazu braucht ihr auch den unteren teil
    wieso funzt das mit dem length nicht?
    ich denke man muss irgendwo noch bemerken das length ein Variable ist, oder nicht? mit dem befehl length () solte das progi die länge automatisch bestimmen wenn sie 0 ist könnte man mit (true) weiterfahren.

    wer hat ne ideeee

    :ööm: :danke:
  • Hab zwar nur ein paar wenige Änderungen gemacht, hab aber lieber mal den ganzen Code gepostet, nicht das es Fehler beim c&p gibt ;)
    Sollte jetzt eigentlich gehen.

    PHP-Quellcode

    1. import java.util.*;
    2. public class Test {
    3. public static void main(String args[]) {
    4. int tag, monat, jahr, jh, ja, formel;
    5. do {
    6. Scanner sc = new Scanner(System.in);
    7. System.out.println("Tag: ");
    8. String tagStr = sc.nextLine();
    9. if (tagStr.length() == 0){
    10. break;
    11. }
    12. else{
    13. tag = Integer.parseInt(tagStr);
    14. }
    15. System.out.println("Monat: ");
    16. monat = sc.nextInt();// ("Monat: ");
    17. System.out.println("Jahr: ");
    18. jahr = sc.nextInt();// ("Jahr: ");
    19. // Scanner "löschen"
    20. sc = null;
    21. System.out.print("Das Datum " + tag + "." + monat + "." + jahr
    22. + " ist ein ");
    23. jh = jahr / 100; /* Jahrhundert */
    24. ja = jahr % 100; /* Jahr im Jahrhundert */
    25. if (monat > 2) {
    26. monat -= 3;
    27. } else {
    28. monat += 9;
    29. ja--;
    30. }
    31. formel = (146097 * jh) / 4 + (1461 * ja) / 4 + (153 * monat + 2)
    32. / 5 + tag + 1721119;
    33. switch (tag % 7) {
    34. case 0:
    35. System.out.println("Montag");
    36. break;
    37. case 1:
    38. System.out.println("Dienstag");
    39. break;
    40. case 2:
    41. System.out.println("Mittwoch");
    42. break;
    43. case 3:
    44. System.out.println("Donnerstag");
    45. break;
    46. case 4:
    47. System.out.println("Freitag");
    48. break;
    49. case 5:
    50. System.out.println("Samstag");
    51. break;
    52. case 6:
    53. System.out.println("Sonntag");
    54. break;
    55. }
    56. if (jahr % 400 == 0 || jahr % 100 != 0 && jahr % 4 == 0) {
    57. System.out.println(" Das Jahr " + jahr + " ist ein Schaltjahr");
    58. }
    59. else {
    60. System.out.println(" Das Jahr " + jahr + " ist kein Schaltjahr");
    61. }
    62. } while (true);
    63. }
    64. }
    Alles anzeigen


    Tjo war einer schneller ^^
  • ich glaubs nicht :mad: nur weil ich den scanner vor dem do gestellt habe, hat nix funktioniert!!!!! :dreck:

    Meine Güte ist das ärgerlich, jetzt scheint es mega logisch, doch ohne eure hilfe wäre ich nieeeee im leben darauf gekommen!!!:depp:

    "Danke stelzi & Zerd"

    und alle andern..........

    ps: na, was meint ihr? wollt ihr noch ne aufgabe?

    :D :confused: :D
    :danke: :danke:

    weiss jemand wie ich die Anführungszeichen " text " in java darstellen kann? als System.out.println("Bitte eine "Tag" eingeben.");
    so wirds leider nicht geschluckt :( ist es überhaupt möglich??