Diskuze: Pomozte začátečníkovi - cykly
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí Java, jsme si ověřili nabyté zkušenosti z kurzu.
Boolean typu "ano"/"ne" udělat nemůžeš, protože "ano" a "ne" jsou hodnoty typu string a boolean bere jen true a false. Můžeš si udělat metodu:
boolean stringToBoolean( String input ) throws IllegalArgumentException{
if ( input.equals( "ano" ){
return true;
} else if ( input.equals( "ne" ){
return false;
}
throw new IllegalArgumentException();
}
...
// true
boolean answer = stringToBool( "ano" );
// false
boolean answer = stringToBool( "ne" );
boolean answer = stringToBool( sc.nextLine().trim().toLowerCase() );
Ok díky, a dá se v kódu co jsem napsal nějak "vytáhnout" odpověď z toho switche a vytisknout pod ním? jak tam mám naznačeno?
System.out.println("Pohlaví :" +pohlavi);
Ano
// I.
System.out.println( "Pohlaví : " + an ? "žena" : "muž" );
// II.
System.out.println( "Pohlaví : " + pohlavi.equals( "ano" ) ? "žena" : "muž" );
V prvním případě je zbytečné přiřazení do proměnné pohlavi ve switchi, ve druhém případě ztrácí celý switch význam.
Ještě jedna věc - nerecykluj proměnné. To znamená, abys pro vstup z konzole použil třeba proměnnou response, ale nepoužíval jí potom pro uložení pohlaví, které tam zrovna úplně nepatří.
Druhá možnost akorát háže error "Incompatible types: String cannot be converted to boolean"
Zobrazeno 6 zpráv z 6.