<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=141.23.79.208</id>
	<title>FreitagsrundenWiki - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.stageing.freitagsrunde.org//api.php?action=feedcontributions&amp;feedformat=atom&amp;user=141.23.79.208"/>
	<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//Spezial:Beitr%C3%A4ge/141.23.79.208"/>
	<updated>2026-11-03T00:14:11Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.45.6</generator>
	<entry>
		<id>wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Brainfuck/Musterloesung&amp;diff=17657</id>
		<title>Javakurs/Übungsaufgaben/Brainfuck/Musterloesung</title>
		<link rel="alternate" type="text/html" href="wiki.stageing.freitagsrunde.org//index.php?title=Javakurs/%C3%9Cbungsaufgaben/Brainfuck/Musterloesung&amp;diff=17657"/>
		<updated>2012-03-06T11:49:15Z</updated>

		<summary type="html">&lt;p&gt;141.23.79.208: /* Lösung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Hinweis:&#039;&#039;&#039; Die Musterlösung kann von eurer Lösung abweichen, da es immer mehrere Varianten gibt ein Problem zu lösen. Im Zweifelsfall Fragt einen Tutor.&lt;br /&gt;
&lt;br /&gt;
== Lösung ==&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * @author Andy Gunschl (Freitagsrunde)&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
public class Brainfuck {&lt;br /&gt;
	&lt;br /&gt;
	private static char[] workingTape ={&#039;a&#039;,&#039;a&#039;,&#039;a&#039;,&#039;a&#039;,&#039;a&#039;,&#039;a&#039;,&#039;a&#039;,&#039;a&#039;,&#039;a&#039;,&#039;a&#039;};&lt;br /&gt;
	private static int head = 0;&lt;br /&gt;
&lt;br /&gt;
	public static void main(String[] args) {&lt;br /&gt;
		char[] sourceCode = {&#039;#&#039;, &#039;+&#039;, &#039;#&#039;, &#039;+&#039;, &#039;#&#039;};&lt;br /&gt;
		&lt;br /&gt;
		for(int i = 0;i&amp;lt;sourceCode.length;i++){&lt;br /&gt;
			progress(sourceCode[i]);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
&lt;br /&gt;
	private static void progress(char command){&lt;br /&gt;
		switch(command){&lt;br /&gt;
			case &#039;&amp;gt;&#039;: head = (head+1)%9; &lt;br /&gt;
				break;&lt;br /&gt;
			case &#039;&amp;lt;&#039;: head = (head-1)%9;&lt;br /&gt;
				break;&lt;br /&gt;
			case &#039;+&#039;: workingTape[head]=(char) (workingTape[head]+1);&lt;br /&gt;
				break;&lt;br /&gt;
			case &#039;-&#039;: workingTape[head]=(char) (workingTape[head]-1);&lt;br /&gt;
				break;&lt;br /&gt;
			case &#039;#&#039;: System.out.print(workingTape[head]);&lt;br /&gt;
				break;&lt;br /&gt;
			default: System.out.println(&amp;quot;Befehl wurde nicht erkannt bitte Benutze &amp;lt; | &amp;gt; | + | - | #&amp;quot;);&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Loesung (Alternative)==&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
 /**&lt;br /&gt;
  * @author: Denis Lobo&lt;br /&gt;
  */&lt;br /&gt;
 public class TuringMachine {&lt;br /&gt;
        //Arbeitsband der TuringMaschine&lt;br /&gt;
        private char[] workingTape = new char[10];&lt;br /&gt;
        private int workingTapeIndex = 0;&lt;br /&gt;
        //char[] sourceCode = {&#039;#&#039;, &#039;+&#039;, &#039;#&#039;, &#039;+&#039;, &#039;#&#039;};&lt;br /&gt;
        // Quellcode für Ausgabe von &amp;quot;hallo_welt&amp;quot;&lt;br /&gt;
        char[] sourceCode = {&#039;+&#039;,&#039;+&#039;,&#039;+&#039;,&#039;+&#039;,&#039;+&#039;,&#039;+&#039;,&#039;+&#039;, &#039;#&#039;, &#039;&amp;gt;&#039;, &#039;#&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;#&#039;, &#039;#&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;#&#039;,&#039;&amp;gt;&#039;,&#039;-&#039;,&#039;-&#039;,&#039;#&#039;,&#039;&amp;gt;&#039;,&#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;,&#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;,&#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;,&#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;,&#039;+&#039;, &#039;+&#039;,&#039;#&#039;,&#039;&amp;gt;&#039;,&#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;,&#039;#&#039;,&#039;&amp;gt;&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;,&#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;,&#039;+&#039;, &#039;+&#039;,&#039;+&#039;,&#039;#&#039;,&#039;&amp;gt;&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;,&#039;+&#039;, &#039;+&#039;,&#039;+&#039;, &#039;+&#039;, &#039;+&#039;,&#039;+&#039;, &#039;+&#039;,&#039;+&#039;, &#039;+&#039;, &#039;+&#039;,&#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;, &#039;+&#039;,&#039;#&#039;}; &lt;br /&gt;
        &lt;br /&gt;
        //Konstruktor&lt;br /&gt;
        public TuringMachine() {&lt;br /&gt;
                initWorkingTape();&lt;br /&gt;
                work(sourceCode);&lt;br /&gt;
        }&lt;br /&gt;
        // initialisiert Arbeitsband mit &#039;a&#039;&lt;br /&gt;
        private void initWorkingTape() {&lt;br /&gt;
                for (int i = 0; i &amp;lt; workingTape.length; i++) {&lt;br /&gt;
                        workingTape[i] = &#039;a&#039;;&lt;br /&gt;
                }&lt;br /&gt;
        }        &lt;br /&gt;
        //Rechtsshift des Kopfes&lt;br /&gt;
        private void shiftRight() {&lt;br /&gt;
                if (workingTapeIndex &amp;gt; 10)&lt;br /&gt;
                        workingTapeIndex = 0;&lt;br /&gt;
                else &lt;br /&gt;
                        workingTapeIndex++;&lt;br /&gt;
        }&lt;br /&gt;
        //Linksshift des Kopfes&lt;br /&gt;
        private void shiftLeft() {&lt;br /&gt;
                if (workingTapeIndex &amp;lt;=0) &lt;br /&gt;
                        workingTapeIndex = workingTape.length-1;&lt;br /&gt;
                else &lt;br /&gt;
                        workingTapeIndex--;&lt;br /&gt;
        }	&lt;br /&gt;
        // Zeichen &amp;quot;inkrementieren&amp;quot;&lt;br /&gt;
        private void plus() {&lt;br /&gt;
                workingTape[workingTapeIndex]++;&lt;br /&gt;
        }&lt;br /&gt;
        // Zeichen &amp;quot;dekrementieren&amp;quot;&lt;br /&gt;
        private void minus() {&lt;br /&gt;
                workingTape[workingTapeIndex]--;&lt;br /&gt;
        }&lt;br /&gt;
        //Ausgabe des aktuellen Zeichens&lt;br /&gt;
        private void print() {&lt;br /&gt;
                System.out.println(workingTape[workingTapeIndex]);&lt;br /&gt;
        }&lt;br /&gt;
        &lt;br /&gt;
        // Algorithmus der TuringMaschine zur Abarbeitung des Codes&lt;br /&gt;
        private void work(char [] sourceCode) {&lt;br /&gt;
           	for (char c: sourceCode) {&lt;br /&gt;
                        switch (c) {&lt;br /&gt;
                                case &#039;#&#039;: print();&lt;br /&gt;
                                          break;&lt;br /&gt;
                                case &#039;&amp;lt;&#039;: shiftLeft();&lt;br /&gt;
                                          break;&lt;br /&gt;
                                case &#039;&amp;gt;&#039;: shiftRight();&lt;br /&gt;
                                          break;&lt;br /&gt;
                                case &#039;+&#039;: plus();&lt;br /&gt;
                                          break;&lt;br /&gt;
                                case &#039;-&#039;: minus();&lt;br /&gt;
                                          break;&lt;br /&gt;
                                default: System.out.println(&amp;quot;Code &amp;quot;+c+&amp;quot; ist nicht zulaessig!&amp;quot;);&lt;br /&gt;
                        }&lt;br /&gt;
                }&lt;br /&gt;
        }&lt;br /&gt;
        //main-methode (Startpunkt des Programms)&lt;br /&gt;
        public static void main (String [] args) {&lt;br /&gt;
                new TuringMachine();&lt;br /&gt;
        }&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kommentare ==&lt;br /&gt;
Wenn du Anmerkungen zur Aufgabe hast oder Lob und Kritik loswerden möchtest, ist hier die richtige Stelle dafür. Klicke einfach ganz rechts auf &amp;quot;bearbeiten&amp;quot; und schreibe deinen Kommentar direkt ins Wiki. Keine Scheu, es geht nichts kaputt ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
Als kleine Starthilfe folgt ein Beispiel, wie so ein Kommentar formatiert sein könnte. Mit &amp;quot;Vorschau zeigen&amp;quot; kannst du dir ansehen, was deine Änderung bewirken würde, ohne wirklich etwas zu ändern.&lt;br /&gt;
Du musst übrigens außerhalb dieses auskommentieren Bereichs schreiben ;)&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>141.23.79.208</name></author>
	</entry>
</feed>