laenge und breite nicht initializid

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

  • laenge und breite nicht initializid

    Hallo leute

    ich hab ein kleines Problem.
    Hier mein code:
    import java.util.Scanner;

    import java.util.Scanner;

    public class Autofaehre {
    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    double platz = 200;
    double zuladung = 20000;
    double Gewicht;
    double Laenge;
    double Breite;
    double autoflaeche;
    double fflaeche;
    double fgewicht;
    int fahrzeug = 0;

    fflaeche = platz;
    fgewicht = zuladung;

    Gewicht = sc.nextDouble();
    if ( Gewicht >20000 || Gewicht <1){
    System.out.println("Ihr Fahrzeug ist leider zu schwer/leicht für unsere Faehre!");
    System.out.println("Starten sie das Programm bitte neu!");
    System.exit(0);
    }
    else {
    Laenge = sc.nextDouble();
    if ( Laenge >25.00 || Laenge <1.00){
    System.out.println("Ihr Fahrzeug ist leider zu lang/kurz für unsere Faehre!");
    }
    else {
    Breite = sc.nextDouble();
    if ( Breite >4.00 || Breite <0.20){
    System.out.println("Ihr Fahrzeug ist leider zu breit/dünn für unsere Faehre!" );
    }
    System.out.println();
    System.out.println("Starten sie das Programm bitte neu!");
    System.exit(0);
    }
    System.out.println("Starten sie das Programm bitte neu!");
    System.exit(0);


    }
    autoflaeche = Laenge * Breite;








    }
    }
    also meine Frage wieso bekomm ich bei der Zeile autoflaeche = Laenge * Breite; immer die fehler meldung bekomme das laenge und breite nicht initializid ist?
  • weil dein programm überhaubt kein sinn macht :D

    entweder ist bei dir die länge inizialiesiert oder die breite oder gewicht, keine ahnung was du da machen willst.
    wenn du alle drei variablen initialisieren willst, dann lass den else teil raus

    Quellcode

    1. if (gewicht...){}
    2. if(breite...){}
    3. if(laenge...){}


    PS und tu den Code in den Code tag, das ist ja nicht lesbar was du da hast :wacko:
    MfG ShureG

    There are 10 kinds of people. Those who understand binary notation, and those who do not.
  • So ich hab noch ne Frage^^
    Mein Code:

    Java-Quellcode

    1. /**
    2. *
    3. * Beschreibung
    4. *
    5. * @version 1.0 vom 27.11.2009
    6. * @author
    7. */
    8. import java.util.Scanner;
    9. public class Autofaehre123 {
    10. static double platz = 200;
    11. static double zuladung = 20000;
    12. public static void main(String[] args) {
    13. Scanner sc = new Scanner(System.in);
    14. double Gewicht;
    15. double Laenge;
    16. double Breite;
    17. double autoflaeche;
    18. double fflaeche;
    19. double fgewicht;
    20. int fahrzeug = 0;
    21. fflaeche = platz;
    22. fgewicht = zuladung;
    23. while ( fflaeche >0 && fgewicht >0){
    24. System.out.println("Bitte geben sie das Gewicht in Kg ihres Fahrzeugs an");
    25. Gewicht = sc.nextDouble();
    26. if ( Gewicht >20000 || Gewicht <1){
    27. System.out.println("Ihr Fahrzeug ist leider zu schwer/leicht für unsere Faehre!");
    28. System.out.println("Starten sie das Programm bitte neu!");
    29. System.exit(0);
    30. }
    31. if ( Laenge >25.00 || Laenge <1.00){
    32. System.out.println("Bitte geben sie das Laenge in m ihres Fahrzeugs an");
    33. Laenge = sc.nextDouble();
    34. System.out.println("Ihr Fahrzeug ist leider zu lang/kurz für unsere Faehre!");
    35. System.out.println("Starten sie das Programm bitte neu!");
    36. System.exit(0);
    37. }
    38. if ( Breite >4.00 || Breite <0.20){
    39. System.out.println("Bitte geben sie die Breite in m ihres Fahrzeugs an");
    40. Breite = sc.nextDouble();
    41. System.out.println("Ihr Fahrzeug ist leider zu breit/dünn für unsere Faehre!" );
    42. System.out.println();
    43. System.out.println("Starten sie das Programm bitte neu!");
    44. System.exit(0);
    45. }
    46. fahrzeug++;
    47. autoflaeche = Laenge * Breite;
    48. fflaeche = platz - autoflaeche;
    49. fgewicht = zuladung - Gewicht;
    50. if (autoflaeche >200){
    51. System.out.println("Ihr Fahrzeug ist leider zu Groß für unsere Faehre!");
    52. System.out.println("Starten sie das Programm bitte neu!");
    53. System.exit(0);
    54. }
    55. if (fflaeche <0){
    56. System.out.println("Die Maximale Flaeche unserer Faehre ist erreicht!");
    57. System.out.println("Starten sie das Programm bitte neu!");
    58. System.exit(0);
    59. }
    60. if (fgewicht <0){
    61. System.out.println("Das Maximale Gewicht unserer Faehre ist erreicht!");
    62. System.out.println("Starten sie das Programm bitte neu!");
    63. System.exit(0);
    64. }
    65. System.out.print(autoflaeche);
    66. System.out.print("m² <--Das ist die Gesamtflaeche die ihr Fahrzeug benoetigt");
    67. System.out.println();
    68. System.out.print(Gewicht);
    69. System.out.print("kg <--Das ist das Gewicht das ihr Fahrzeug benoetigt");
    70. System.out.println();
    71. System.out.print(fflaeche);
    72. System.out.print("m² <--Das ist die restliche Flaeche auf der Faehre");
    73. System.out.println();
    74. System.out.print(fgewicht);
    75. System.out.print("kg <--Das ist das restliche Gewichte das auf die Faehre passt!");
    76. System.out.println();
    77. System.out.print("Anzahl der Fahrzeuge auf der Faehre:");
    78. System.out.print(fahrzeug);
    79. System.out.println();
    80. Gewicht = sc.nextDouble();
    81. Laenge = sc.nextDouble();
    82. Breite = sc.nextDouble();
    83. }
    84. }
    85. }
    Alles anzeigen

    Mein Problem ist das wenn ich die daten von einem Fahrzeug eingebe wird alles so wie es soll abgezogen, gebe ich aber weitere Fahrzeuge ein wird es nicht vom aktuellen stand abgezogen sonder vom neuen.
    Beispiel^^:
    1.
    5m² 500kg ---> noch 195m² 19500kg übrig wird ausgegeben
    gebe ich jetzt ein zweites ein
    5m² 500kg ---> noch 195m² 19500kg übrig wird ausgegeben soll aber 190m² und 19000kg ausgeben tut es aber nicht^^
    würd mich üebr hilfe freuen :)
  • Quellcode

    1. if ( Breite >4.00 || Breite <0.20){
    2. System.out.println("Bitte geben sie die Breite in m ihres Fahrzeugs an");
    3. Breite = sc.nextDouble();


    so funktioniert nicht das einlesen der Länge, da du danach gleich ne Fehlermeldung ausgibst.
    weiterhin
    hast du am ende der schleife noch das hier stehen

    Gewicht = sc.nextDouble();
    Laenge = sc.nextDouble();
    Breite = sc.nextDouble();

    das einlesen der Daten erfordert, die du dann am Anfang wieder einliest, da müsstest du deine Schleifeninvariante mal überdenken ;)
    damit so was da nicht steht.

    zu deinem Problem:
    du änderest doch garnicht deine variablen platz, zuladung
    MfG ShureG

    There are 10 kinds of people. Those who understand binary notation, and those who do not.