Problem eines Anfängers bei Java

approx

Mitglied
Hey Leute ich bin grad dabei ein bisschen für den Test nächste Woche zu lernen und häng grad bei dieser Übungsaufgabe:

Falls die Variable n1 den Wert 0 enthält, soll sie unverändert bleiben. Sonst soll ihr Wert in Richtung 0 um 1 verändert werden (z.B. soll der Wert 5 durch 4 ersetzt werden oder +7 durch +6).

Ich weiß wie man if-Anweisungen schreibt, aber ich hab leider keine Idee wie ich dem Programm sagen kann ob die eingegebene Zahl im Scanner eine 0 enthält.

Hoffe Ihr könnt mir dazu einen kleinen Tipp geben
 
Was ist genau dein Problem? Eine Zahl mit dem Scanner einlesen würde so gehen:
Java:
        Scanner sc = new Scanner(System.in);
        int zahl = sc.nextInt();
        sc.close();

Dann kannst du deine if-Anweisung schreiben. Also
if zahl > 0 dann zahl --
else if zahl < 0 dann zahl ++
 
Oh Gott habe ewig keine Scanner benutzt aber gluabe so sollte es gehen:
Java:
Scanner scanner =  new Scanner(System.in);
int input = scanner.nextInt();//Erhalte die Benutzereingabe
if(input==0){
//Mach was wenn 0 eingegeben wurde
} else {
//mach was falls die Eingabe nicht 0 ist
}
 
@Tarrew
Wie man den Scanner schreibt weiß ich aber ich glaub bei der Aufgabenstellung ist ja gemeint das falls die Zahl 0 enthält, also z.B 10,105,0.43, soll sie unverändert bleiben und falls es eine Zahl wie 45 ist soll sie um 1 verringert werden
@DieKeksmaffia
Danke das probier ich mal
 
ich glaub bei der Aufgabenstellung ist ja gemeint das falls die Zahl 0 enthält, also z.B 10,105,0,43, soll sie unverändert bleiben
In der Aufgabe steht ausdrücklich das auf einen Wert zu achten ist: Es gibt nur ein "0"!
Falls die Variable n1 den Wert 0 enthält
In dem Fall wäre mein Ansatz richtig, aber falls es darum geht, ob die Zahl eine 0 irgendwo enthält muss du ab besten mit Stringsarbeiten, beziehungsweise mit einer String-Methode. Ich würde dann folgendes vorschlagen:
Java:
public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int input = scanner.nextInt();
        if(Integer.toString(input).contains("0")){
            //Falls die eingegbene Zahl eine 0 enthält
        }
        else{
            //falls sie keine enthält
        }
    }
 
Zuletzt bearbeitet:
Jap sorry hätte mich klarer ausdrücken sollen. Wollte mit den Zahlen nur ein paar Beispiele zeigen wie die Zahl aussehen könnte.
Und danke, die String-Methode hilft!
 

Neue Themen


Zurück
Oben