Last active
August 29, 2015 14:01
-
-
Save TimDaub/be79b39043da7dd19189 to your computer and use it in GitHub Desktop.
Java Insel Lösung (nicht getestet)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.Scanner; | |
class Javainsel { | |
public static void main(String[] args) { | |
boolean hatKnelt, tutNopeln, tutManuseln, loepst; | |
Scanner scanner = new Scanner(System.in); | |
System.out.println("Um Fragen mit 'Ja' zu beantworten, gib 1 ein."); | |
System.out.println("Um Fragen mit 'Nein' zu beantworten, gib 0 ein."); | |
// Ab hier Einlesen der Daten mit scanner | |
System.out.println("Hat die Person einen Knelt?"); | |
if(scanner.nextLine().equals("1")) { | |
hatKnelt = true; | |
} else { | |
hatKnelt = false; | |
} | |
System.out.println("Nopelt die Person?"); | |
if(scanner.nextLine().equals("1")) { | |
tutNopeln = true; | |
} else { | |
tutNopeln = false; | |
} | |
System.out.println("Manuselt die Person?"); | |
if(scanner.nextLine().equals("1")) { | |
tutManuseln = true; | |
} else { | |
tutManuseln = false; | |
} | |
System.out.println("Loepst die Person?"); | |
if(scanner.nextLine().equals("1")) { | |
loepst = true; | |
} else { | |
loepst = false; | |
} | |
System.out.println("Das Programm wertet die eigegebene Person nun aus:"); | |
// Aufgabenstellung: | |
// ----------------------------- | |
// | |
// "Im Herzen einer Java-Plantage leben die vier St¨amme der Asis, Belas, Cedis und Drudis. Forschungen | |
// ergaben, dass es vier Eigenschaften gibt, die eine Unterscheidung der St¨amme erlauben: ein | |
// Bewohner der Plantage kann (muss aber nicht) manuseln, einen Knelt haben, l¨opsen und nopeln. | |
// Man weiss, dass nur die Asis einen Knelt haben und manuseln. Hat jemand keinen Knelt und nopelt, | |
// dann ist er gewiss ein Bela. Ein Bewohner mit Knelt, der nicht manuselt, ist ein Cedi, wenn er | |
// immer nopelt. Wer keinen Knelt hat und l¨opst, nie nopelt und stets manuselt, ist mit Bestimmtheit | |
// ein Cedi; w¨urde er nicht manuseln, w¨are er ein Drudi. Es ist geradezu typisch f¨ur Drudis, dass sie | |
// weder manuseln noch nopeln, aber einen ordentlichen Knelt haben. Ganz enthaltsame Bewohner, | |
// die keinen Knelt haben, nicht l¨opsen und nicht nopeln, sind Drudis, wenn sie manuseln, und Cedis | |
// wenn sie nicht manuseln. | |
// Schreibe ein Programm, dass die vier Eigenschaften eines Plantagenbewohners erfragt und eine | |
// Diagnose liefert, zu welchem Stamm dieser geh¨ort. | |
// Das folgende St¨uck Quelltext verwendet den Scanner von oben und liest eine Eingabe ein und liefert | |
// bei J oder j als Ergebnis true und sonst false. | |
// 1 String janein = scanner.nextLine(); | |
// 2 boolean test = janein.equals("j") || janein.equals("J"); | |
// 3 // test ist true bei j oder J | |
// Tipp: Im Skript steht im Teil Wahrheitswerte aus dem Kapitel Datenstrukturen, wie du mehrere | |
// Booleans miteinander verkn¨upfen kannst." | |
// Auswertung des Ausdrucks mit den 4 oben gesetzten Booleans | |
// | |
// Zum Verständnis: Ich habe mir einfach den Text durchgelesen und mir immer die jeweiligen | |
// Sätze rauskopiert, die auf den Charakter passen und dann entweder ein ! vorne hingemacht oder nicht | |
// Asis | |
// "Man weiss, dass nur die Asis einen Knelt haben und manuseln." | |
if(hatKnelt && tutManuseln) { | |
System.out.println("Der Bewohner ist ein Asis!"); | |
} | |
// Bela | |
// "Hat jemand keinen Knelt und nopelt dann ist er gewiss ein Bela." | |
if(!hatKnelt && tutNopeln) { | |
System.out.println("Der Bewohner ist ein Bela!"); | |
} | |
// Cedi | |
// 1. Klammer | |
// "Ein Bewohner mit Knelt, der nicht manuselt, ist ein Cedi, wenn er immer nopelt." | |
// | |
// oder || | |
// | |
// 2. Klammer | |
// "Wer keinen Knelt hat und l¨opst, nie nopelt und stets manuselt, ist mit Bestimmtheitein Cedi" | |
// | |
// 3. Klammer | |
// "Ganz enthaltsame Bewohner, die keinen Knelt haben, nicht l¨opsen | |
// und nicht nopeln, sind Drudis, wenn sie manuseln, und Cedis wenn sie nicht manuseln." | |
if((hatKnelt && !tutManuseln && tutNopeln) || (!hatKnelt && loepst && !tutNopeln && tutManuseln) | |
|| (!hatKnelt && !loepst && !tutNopeln && !tutManuseln)) { | |
System.out.println("Der Bewohner ist ein Cedi!"); | |
} | |
// Drudis | |
// 1. Klammer | |
// "Wer keinen Knelt hat und l¨opst, nie nopelt und stets manuselt, ist mit Bestimmtheit | |
// ein Cedi; w¨urde er nicht manuseln, w¨are er ein Drudi." ==> einfach !tutManuseln | |
// | |
// 2. Klammer | |
// "Es ist geradezu typisch f¨ur Drudis, dass sie weder manuseln noch nopeln, | |
// aber einen ordentlichen Knelt haben." ==> verwirrt mich au a bissl, hatKelt = true? | |
// | |
// 3. Klammer | |
// "Ganz enthaltsame Bewohner, die keinen Knelt haben, nicht l¨opsen und nicht nopeln, | |
// sind Drudis, wenn sie manuseln," | |
if((!hatKnelt && loepst && !tutNopeln && !tutManuseln) || (hatKnelt && loepst && !tutNopeln && !tutManuseln) | |
|| (!hatKnelt && !loepst && !tutNopeln && tutManuseln)) { | |
System.out.println("Der Bewohner ist ein Drudis!"); | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment