Frage von Cny2456, 59

Warum funktioniert das Programm nicht?

package Girokonto;

import java.util.*;

public class Giro {

public static void main(String[] args) {
    Scanner Tastatur = new Scanner(System.in);
    int g=Tastatur.nextInt();
    double zahl1;
    zahl1=0.25;
    double zahl2;
    zahl2=0.75; 
    double Gebühr1;
    double Gebühr2;
    
    Gebühr1=g*zahl1;
    Gebühr2=g*zahl2;
    
    if (g<7)
      System.out.println(g+ "keine Gebühren");
    else if(g<10) if(g>7)
      System.out.println(Gebühr1+ " Bitte bezahlen");
    else if(g<17) if(g>10)
      System.out.println(Gebühr2+ " Bitte bezahlen");
    
    Tastatur.close();
    
    }
}
Antwort
von anotherguy, 28

Was funktioniert denn nicht?
Außerdem schreibt man nach Syntax Variablen-Namen anfangs klein, sowie du direkt bei der Deklarierung den Wert bestimmen kannst.

Kommentar von anotherguy ,

Die inneren Ifs kannst du außerdem dir mit dem && Operator sparen.

Kommentar von Cny2456 ,

ich habe das Programm in eclipse geschrieben. Eigentlich soll es wenn man eine zahl eingibt, die entsprechende Gebühr berechnen und anzeigen. Jedoch passiert nichts wenn ich das Programm laufen lasse...

Kommentar von anotherguy ,

Du gibst ja keine Ausgabe vor der Scanner-Eingabe an.. die Konsole wartet dann auf 'ne Eingabe, ohne das du was printest.

So geht's z.B., auch richtig formatiert (übernimmt nur meine Einrückung nicht):

import java.util.Scanner;


public class Test {

public static void main(String[] args) {

System.out.print("Zahl eingeben: ");
int g = new Scanner(System.in).nextInt();

double zahl1 = 0.25;
double zahl2 = 0.75;

double gebühr1 = g * zahl1;
double gebühr2 = g * zahl2;

if(g < 7)
System.out.println("Keine Gebühr " + g);
else if(g > 7 && g < 10)
System.out.println("Bitte zahlen " + g);
else if(g < 17 && g > 10)
System.out.println("Bitte zahlen " + g);
else
System.out.println("Fehler");
}
}

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten