Villkorssatser - Fylla kraven för anställning
Hej jag har fått en liten programmerings läxa, I uppgiften så sägs:
"AB Diskriminering söker nya anställda. För att du ska få en tjänst hos detta företag måste minst två av följande villkor vara uppfyllda."
1. Du ska vara man
2. Du ska vara under trettio år
3. Du ska inte ha barn.
Skriv ett program som ställer tre frågor till användaren och so genom en utskrift redovisar om personen är godkänd för ett arbete hos AB Diskriminering. Utskriften ska se ut exempelvis så här: "Eftersom du är man och under 30 år är du kvalificerad för jobbet."
package ab.diskriminering;
import java.util.Scanner;
public class AbDiskriminering {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int manif, alderif, barnif;
System.out.println("För att ansöka till AB Diskriminering måste du fylla följande vilkor.");
System.out.println("\n1. Du ska vara man");
System.out.println("2. Du ska vara under trettio år");
System.out.println("3. Du ska inte ha barn");
System.out.println("\nÄr du en man?");
String mansvar = input.nextLine();
System.out.println("\nVad är din ålder");
int aldersvar = input.nextInt();
System.out.println("\nHar du barn?");
String barn = input.nextLine();
}
}
Nu vet jag inte hur jag ska gå tillväga.
Du har int manif, alderif, barnif. Du kan addera dessa, 1 om kravet är uppfyllt. Om denna summa är 2 eller högre får personen jobbet.
Eftersom alla tre villkor behöver vara uppfyllda för att kunna anställas, så kan programmet avbrytas när ett av dessa villkor inte längre är uppfyllt. En kontroll om personen svarat bekräftande på frågan om manligt kön kan göras så här:
System.out.println("\nÄr du en man?");
String mansvar = input.nextLine();
if ("j".compareToIgnoreCase(mansvar) != 0 && "ja".compareToIgnoreCase(mansvar) != 0)
{
System.out.println("Då är du inte välkommen här!");
return;
}
Lindehaven skrev:Eftersom alla tre villkor behöver vara uppfyllda för att kunna anställas, så kan programmet avbrytas när ett av dessa villkor inte längre är uppfyllt. En kontroll om personen svarat bekräftande på frågan om manligt kön kan göras så här:
System.out.println("\nÄr du en man?"); String mansvar = input.nextLine(); if ("j".compareToIgnoreCase(mansvar) != 0 && "ja".compareToIgnoreCase(mansvar) != 0) { System.out.println("Då är du inte välkommen här!"); return; }
Står däremot att 2 av 3 villkor uppfyllda räcker.
@beerger har helt rätt, två av tre villkor räcker. Jag slarvade när jag läste uppgiften. @beerger skrev också:
Du har int manif, alderif, barnif. Du kan addera dessa, 1 om kravet är uppfyllt. Om denna summa är 2 eller högre får personen jobbet.
Det går att nyttja ungefär så här:
System.out.print("\nÄr du en man? ");
String mansvar = input.nextLine();
if ("j".compareToIgnoreCase(mansvar) == 0 || "ja".compareToIgnoreCase(mansvar) == 0)
manif = 1;
// och så vidare