wie verwende ich bei java scanner if bedingungen, um bedingungen zu prüfen?

1 Antwort

Also kommt drauf an, was für Bedingungen

import java.util.Scanner;
...
Scanner sc = new Scanner(System.in);
int n = sc.nextInt(), //Nimmt den nächsten Integer aus der Konsole
String s = sc.next(); //Nimmt den nächsten String

//Hier kannst du mit If-Bedingungen auf Werte überprüfen
if(n == 3){ ... }
if(s.equals("...")){ ... }

Denkschulen 
Fragesteller
 30.11.2021, 12:30

was, wenn ich sowohl sting als auch int brauche?

0
imsonoah  30.11.2021, 13:01
@Denkschulen

Dann machst du es eben nacheinander oder du manipulierst den String so, dass du den Integer aus dem String ziehst ^^

0
Denkschulen 
Fragesteller
 30.11.2021, 13:08
@imsonoah

aber wie mache ich es hintereinander? String input = scanner.next() + int n = scanner.nextInt(); ?

0
imsonoah  30.11.2021, 13:10
@Denkschulen

Nein, so nicht.

String s = scanner.next();
int n = scanner.nextInt();

Davor kannst du noch System.out.println(String ...) verwenden, um den Nutzer es leichter zu machen, das Programm zu verstehen :D.

0
Denkschulen 
Fragesteller
 30.11.2021, 13:13
@imsonoah

aber wenn er zb "exit" angibt, will ich, dass das programm endet, ohne das man noch eine zahl eingeben muss

0
imsonoah  30.11.2021, 13:20
@Denkschulen

Okay, hier bitteschön :)

package ...;
import java.util.Scanner;

public class DeineKlasse {
	public static void main(String[] args) {
		start();
	}
	
	public static void start() {	
		int choice = abfrage("Wählen Sie unter folgenden   Optionen: ...");
		String name = abfrageString("Bitte geben Sie ihren Namen ein.");
		
		if(choice < 0 || choice > 3) {
			System.out.println("Fehler, bitte geben Sie eine Zahl von 0 bis 3 ein.");
			start();
			return;
		}
		
		switch(choice) {
			case 0: 
				...
				break;
			case 1: 
				...
				break;
			case 2: 
				...
				break;
			case 3:
				...
				break;
				
		}
	}
	public static String abfrageString(String text) {
		System.out.println(text + "\n>>> ");
		Scanner sc = new Scanner(System.in);
		return sc.next();
	}
	
	public static int abfrage(String text) {
		System.out.println(text + "\n>>> ");
		Scanner sc = new Scanner(System.in);
		return sc.nextInt();
	}
}
0