HILFE!!

gabyjava

Mitglied
Hallo alle zusammen :)
Ich versuche gerade eine Aufgabe zu lösen und komme nicht weiter, vielleicht kann mir Jemand weiterhelfen. Die Aufgabenstellung:
Schreiben Sie ein Programm namens Querprodukt, welches das „Querprodukt“
einer int-Zahl berechnet und dieses mit einer Meldung am Bildschirm anzeigt. Die
int-Zahl soll von der Standardeingabe solange eingelesen werden, bis sie gültig ist (=
zwischen 0 und einer Million (jeweils inklusive)). Bei Eingabe einer ungültigen intZahl
soll zusätzlich eine Fehlermeldung erscheinen und ein erneutes Einlesen
erfolgen.
Beispiel:
Geben Sie bitte eine Zahl ein: -3
FEHLER – Zahl ist ungueltig.
Geben Sie bitte eine Zahl ein: 3225
Das Querprodukt der Zahl 3225 betraegt 60

Mein Quellcode bis jetzt:

Java:
import java.util.Scanner;
public class Querprodukt {
	public static void main(String[] args)
	{
		int n;
		int querprodukt=1; 
		Scanner scanner=new Scanner(System.in);
		System.out.println("Bitte geben Sie eine ganze Zahl ein:");
		n = scanner.nextInt();
		{if ((n<0)||(n>1000000))
				{System.out.println("FEHLER – Zahl ist ungueltig.");
				}
		while (n>0)
		{
		int rest = n%10;
		querprodukt = querprodukt * rest;
		n=n/10;
		}
		System.out.println(querprodukt);
		
	}

}}

Mein Problem ist, dass wenn eine ungültige Zahl eingegeben wird, kommt die Ausgabe, dass die Zahl ungültig ist aber es erfolgt kein neues Einlesen. Meine Idee war eine weitere Schleife da einzubauen, aber ich weiß es nicht wie. Würde das gehen? Gibt es andere Lösungsmöglichkeiten?
Vielen vielen Dank schon mal ;)
 

Flown

Administrator
Mitarbeiter
ja geht:

Java:
int n;
do {
  n = sc.nextInt();
} while (!(0 <= n && n <= 1_000_000));
 

gabyjava

Mitglied
danke für die schnelle Antwort :)
Kannst du mir noch genauer erklären, wo ich das genau einbauen soll oder durch was ich es ersetzen soll?
Wenn eine ungültige Zahl eingegeben wurde, erfolgt dann mit diesem Befehl ein erneutes Einlesen?
Danke!
 

gabyjava

Mitglied
Ich habe es natürlich selbst probiert, bevor ich nochmal nachgefragt habe.
Ich bin aber Einsteiger, beschäftige mich erst seit einpaar Tage allgemein mit Programmieren und kenne mich leider noch nicht so gut aus..
So wie ich es probiert habe, hat es leider nicht geklappt.
 

Joose

Top Contributor
Du musst hier nur logisch überlegen:
Wo liest du bisher deine Zahl ein? Was willst du das sich wiederholt wenn die Zahl ungültig ist?
 

Neue Themen


Oben