Skip to content

Instantly share code, notes, and snippets.

@TimDaub
Last active August 29, 2015 14:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save TimDaub/be79b39043da7dd19189 to your computer and use it in GitHub Desktop.
Save TimDaub/be79b39043da7dd19189 to your computer and use it in GitHub Desktop.
Java Insel Lösung (nicht getestet)
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