From 4a05964f22e8994d9646831d9997d0ae323af1c9 Mon Sep 17 00:00:00 2001 From: jannisfingerhut Date: Fri, 10 Feb 2023 01:34:55 +0100 Subject: [PATCH] =?UTF-8?q?Test=20f=C3=BCr=20Bin=C3=A4rrechner=20hinzugef?= =?UTF-8?q?=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LernProgramm/ProgrammMain.java | 247 +++++++++++++++++----------- LernProgramm/testProgramm.java | 5 + bin/LernProgramm/ProgrammMain.class | Bin 4393 -> 6089 bytes bin/LernProgramm/testProgramm.class | Bin 1094 -> 1329 bytes 4 files changed, 160 insertions(+), 92 deletions(-) diff --git a/LernProgramm/ProgrammMain.java b/LernProgramm/ProgrammMain.java index e366f97..1c82907 100644 --- a/LernProgramm/ProgrammMain.java +++ b/LernProgramm/ProgrammMain.java @@ -5,88 +5,152 @@ import java.util.Scanner; public class ProgrammMain { - //Aufzurufende Funktionen - - // Karteikarten - - public static void Karteikarten(){ - - - try (Scanner input = new Scanner(System.in)) { - - - String[][] karteikarten = {{"Was ist die Hauptstadt von Deutschland?", "Berlin"}, - {"Welches ist der größtes Planet in unserem Sonnensystem?", "Jupiter"}, - {"Wer hat die Mona Lisa gemalt?", "Leonardo da Vinci"}, - - //Sonstige Fragen - }; - - int counter = 0; - for (String[] karteikarte : karteikarten) { - System.out.println(karteikarte[0]); - String answer = input.nextLine(); - if (answer.equalsIgnoreCase(karteikarte[1])) { - System.out.println("Korrekt!"); - counter++; - } else { - System.out.println("Leider falsch. Die richtige Antwort wäre: " + karteikarte[1]); - } - } - System.out.println("Dein Punktestand ist " + counter + " von insgesamt " + karteikarten.length); - } + // Aufzurufende Funktionen + + // Karteikarten + + public static void Karteikarten() { + + try (Scanner input = new Scanner(System.in)) { + + String[][] karteikarten = { { "Was ist die Hauptstadt von Deutschland?", "Berlin" }, + { "Welches ist der größtes Planet in unserem Sonnensystem?", "Jupiter" }, + { "Wer hat die Mona Lisa gemalt?", "Leonardo da Vinci" }, + + // Sonstige Fragen + }; + + int counter = 0; + for (String[] karteikarte : karteikarten) { + System.out.println(karteikarte[0]); + String answer = input.nextLine(); + if (answer.equalsIgnoreCase(karteikarte[1])) { + System.out.println("Korrekt!"); + counter++; + } else { + System.out.println("Leider falsch. Die richtige Antwort wäre: " + karteikarte[1]); + } } - - + System.out.println("Dein Punktestand ist " + counter + " von insgesamt " + karteikarten.length); + } + } + // Quizz - - public static void Quizz() { - Random rand = new Random(); - try (Scanner scanner = new Scanner(System.in)) { - String[][] questions = { - {"Welche Farbe hat ein Bananen?", "A) Gelb", "B) Grün", "C) Blau", "D) Rot", "A"}, - {"Wie viele Beine hat eine Spinne?", "A) 4", "B) 6", "C) 8", "D) 10", "C"}, - {"Wer hat die Formel E=mc² entwickelt?", "A) Isaac Newton", "B) Albert Einstein", "C) Galileo Galilei", "D) Stephen Hawking", "B"}, - {"Welches ist der größte Planet im Sonnensystem?", "A) Merkur", "B) Venus", "C) Erde", "D) Jupiter", "D"} - //Sonstige Fragen - }; - int questionIndex = rand.nextInt(questions.length); - String[] currentQuestion = questions[questionIndex]; - - System.out.println(currentQuestion[0]); - System.out.println(currentQuestion[1]); - System.out.println(currentQuestion[2]); - System.out.println(currentQuestion[3]); - System.out.println(currentQuestion[4]); - String answer = scanner.nextLine(); - - if (answer.equalsIgnoreCase(currentQuestion[5])) { - System.out.println("Richtig!"); - } else { - System.out.println("Falsch!"); - } - } - } - - + + public static void Quizz() { + Random rand = new Random(); + try (Scanner scanner = new Scanner(System.in)) { + String[][] questions = { + { "Welche Farbe hat ein Bananen?", "A) Gelb", "B) Grün", "C) Blau", "D) Rot", "A" }, + { "Wie viele Beine hat eine Spinne?", "A) 4", "B) 6", "C) 8", "D) 10", "C" }, + { "Wer hat die Formel E=mc² entwickelt?", "A) Isaac Newton", "B) Albert Einstein", + "C) Galileo Galilei", "D) Stephen Hawking", "B" }, + { "Welches ist der größte Planet im Sonnensystem?", "A) Merkur", "B) Venus", "C) Erde", + "D) Jupiter", "D" } + // Sonstige Fragen + }; + int questionIndex = rand.nextInt(questions.length); + String[] currentQuestion = questions[questionIndex]; + + System.out.println(currentQuestion[0]); + System.out.println(currentQuestion[1]); + System.out.println(currentQuestion[2]); + System.out.println(currentQuestion[3]); + System.out.println(currentQuestion[4]); + String answer = scanner.nextLine(); + + if (answer.equalsIgnoreCase(currentQuestion[5])) { + System.out.println("Richtig!"); + } else { + System.out.println("Falsch!"); + } + } + } + // Prinmbis100 - public static void PrimBis100() { - for (int i = 2; i <= 100; i++) { - boolean isPrime = true; - for (int j = 2; j < i; j++) { - if (i % j == 0) { - isPrime = false; - break; - } - } - if (isPrime) { - System.out.print(i + " "); - } - } - } - - - + public static void PrimBis100() { + for (int i = 2; i <= 100; i++) { + boolean isPrime = true; + for (int j = 2; j < i; j++) { + if (i % j == 0) { + isPrime = false; + break; + } + } + if (isPrime) { + System.out.print(i + " "); + } + } + } + + // Binärinverter + + public static void Binaerrechner() { + + try (Scanner scanner = new Scanner(System.in)) { + System.out.print("Gebe den ersten Binärcode ein: "); + String binaryCode1 = scanner.nextLine(); + System.out.print("Gebe den zweiten Binärcode ein: "); + String binaryCode2 = scanner.nextLine(); + System.out.print("Gebe die gewünschte Operation ein (+, -, *, /): "); + char operation = scanner.next().charAt(0); + + int result = calculate(binaryCode1, binaryCode2, operation); + System.out.println("Das Ergebnis ist: " + result); + } + } + + public static int calculate(String binaryCode1, String binaryCode2, char operation) { + + int decimal1 = binaryToDecimal(binaryCode1); + int decimal2 = binaryToDecimal(binaryCode2); + + int result = 0; + switch (operation) { + case '+': + result = decimal1 + decimal2; + break; + case '-': + result = decimal1 - decimal2; + break; + case '*': + result = decimal1 * decimal2; + break; + case '/': + result = decimal1 / decimal2; + break; + default: + System.out.println("Ungültige Operation! Bitte wähle +, -, * oder /."); + return 0; + } + return decimalToBinary(result); + } + + public static int binaryToDecimal(String binaryCode) { + + int decimal = 0; + for (int i = binaryCode.length() - 1; i >= 0; i--) { + char currentChar = binaryCode.charAt(i); + if (currentChar == '1') { + decimal += Math.pow(2, binaryCode.length() - i - 1); + } else if (currentChar != '0') { + System.out.println("Ungültiger Binärcode! Bitte gebe nur Nullen und Einsen ein."); + return 0; + } + } + return decimal; + } + + public static int decimalToBinary(int decimal) { + int binary = 0; + int power = 0; + while (decimal > 0) { + binary += (decimal % 2) * (int) Math.pow(10, power); + decimal /= 2; + power++; + } + return binary; + } public static void main(String[] args) { @@ -99,35 +163,34 @@ public class ProgrammMain { try (Scanner einleser = new Scanner(System.in)) { int wahl = einleser.nextInt(); - switch(wahl) { + switch (wahl) { case 1: Karteikarten(); break; case 2: Quizz(); - //Funktion + // Funktion break; case 3: PrimBis100(); - //Funktion + // Funktion break; case 4: - System.out.println("Diese Funktion wird derzeit entwickelt! Hab bitte etwas Geduld oder sei kreativ und erstelle dir selber eine Funktion!"); - //Funktion + Binaerrechner(); + // Funktion break; case 5: - System.out.println("Diese Funktion wird derzeit entwickelt! Hab bitte etwas Geduld oder sei kreativ und erstelle dir selber eine Funktion!"); - //Funktion + System.out.println( + "Diese Funktion wird derzeit entwickelt! Hab bitte etwas Geduld oder sei kreativ und erstelle dir selber eine Funktion!"); + // Funktion break; - - default: System.out.println("Ungültige Eingabe, versuche es bitte erneut!\n"); + + default: + System.out.println("Ungültige Eingabe, versuche es bitte erneut!\n"); } } - - - + System.out.println("Programm beendet\n"); - } } diff --git a/LernProgramm/testProgramm.java b/LernProgramm/testProgramm.java index e845ebe..48501cf 100644 --- a/LernProgramm/testProgramm.java +++ b/LernProgramm/testProgramm.java @@ -25,5 +25,10 @@ class testProgramm { assertEquals("2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 ", out.toString()); } + @Test + public void testAddition() { + int result = ProgrammMain.calculate("1010", "1011", '+'); + assertEquals(10101, result); + } } diff --git a/bin/LernProgramm/ProgrammMain.class b/bin/LernProgramm/ProgrammMain.class index bb5bb366f39d91ab5309137fe4cfca7566cbc68d..cdeca8643532fd106c755584f34ff497229a8879 100644 GIT binary patch delta 2400 zcmZuzdvH|c75{zvyt}!{hDT76#oWZ`WS2ZlNJB|NAS6MefI6a6s#G?+m+ZymCcV2$ zAZ^`NQP5F4^s3W8w4j4VMaKcgBm&|i6$P}m_DO4}?~0witD-2RzwhoMIJ!G`&$-`s zzH@%(cg}ZapQt|4SbFr#{zCvd#WX)$0<*VopS>rt!=Ec&Vwf@Avh;Y;)GY-Q0@~$z zzpf>8Q`4<#WKdAnUfy1+PQUFeVrDq(;6dfS`Z-|Qt<-j3wTU@QznQoUQ+QgCIx))WX$Ty zaHqB}(jA1rD=H4-Re?Y}mWpRnv5YQITf2OHY-6l36*C7KugzG7Ine(3mF`GiPQej@ z={>Qu)@u#u{ic!DjC7_=6DaB@GuGyArrq?Jw`Rr~JevR!S$aB~B1nNZRs0w~5eVgv zt{Uvoq>4Y`&$J#I92W4__Vh%06#P|S;W^;ec};Q_I_cCkGizxpvnfW@ zvSvc-HO#bZEW>ON2=*IoXDJr&7f_Syc$N)mX1ZBw-{P7)I>OGgN(cm^TlQgpwfK+y zuD>JvKN8%N)snGvMw_QyJ7nmo4TA}zDyZOnyGtpHoMg$G8?fa4KN6TRuR%g) z>(}?08+9wATip2A&MD!h(<&as+mhoc6(#Ud6GFwhyyjN%cwY0W7=up{e)~0L#3cfD zPoUW)itJ5+)grL(t-#Hqw}ic1ic2vK^D!Musb7u@a0M>J*DxDNl*2>?Mp&F%F$cHf zB5Xq?9_IdTRO5AAj1N&`-&*vtSiP@TT`%JO+yWv{5T&EJJXD8n)Wbjna%jYNaT%UO z6ZUcMS+w8~zJym8{7rlr$FYEwY{Ng$j+5xXX^w*c7Kv$CEM}rhgwZXQp~nuEoQy1k z7k%&(s){QKeK}@gg#*13R}BC~iVC))HwysgH9tfjgl))-B90 z#PwaYckx6Qj?%)-GxKnanun*VSb*=)ZYjOKK|eku0t{3I-xQK|g<6^8;3;Gtq8A@G zlhFzMsB^B_3?@FY2-7X&n0~1T0=oDo>S&o+v*)fEtP~+Dybx;GK)$| zD#engx5m)meoB(_v!{60opaLfWFlY#c(ISolE}dI$?)u|3jEA#!ML!8e%DH%Y)P4jr9&@D2%dMv^57!qFrNE_#pSmptR9{Tlp=ng_WOvM!nNl3Ab_ zzB6dyT~YW6ARvcfo*o>be-BNTxjUj`IPOU-9L0iYnDy?QQ`)o>h0{+J9tO7@?LCX z@83xZ?!qGOEyX=fs?j_Uyu*aRQ%iAz8E`<*axXO(J=Eh}Chc~z3c+(4st})`TAV`2 zMMKVAC$AiEHxqNyPmR07&78_B%DqD~@wc!{;ojuhj&g6ReTz$!KQwis09s zGuHQr#)cpFvB&P`D0qM)z~=t<9jsd3w}Vh(t;XLStR85*#cOk1lEf=;orYhCS;Y2F z{43A7c$$a3+&v~+=ij7H%KsMRdjI6g3mVHHwQSgl7~NGTaQ|qrXw8j;`42iW_r|8szdGqF=V~&Lv9!4>SKB`~Uy| delta 782 zcmYL`Nla5=6otRP3@xt>6l4~p2r?L3WDq9?QL9o0MH3QG(Go!r!N?F|jUi6a4N>wo zE=<(8s6%1`L_knf1Qi5v9u}@#vqniAZX=0#x%Zs+59i+h+{ujF%dJzthev?|z8Enm zVtRUFdeg5N^)Ah(9_ZJ#JT;Owj}<{#4qHV>qsJq^ zPxW|nwCkB7BFACd)!Nux?QS?)*HYBccGz88r)h*RVc{yz6@F>y#Tts27J>=%u_+7n z|JbyJTLhYTt)De}47}0*n6nJL)3YsADxkmH(xjXrA{9moOIS-d+k|f?1{bl^u#^Vk zXdxaC%Q!;<=dp2-L~h9bU6Pq*1wTm9^Ml7!MPJAfwYQo`abXoE>_p*^yBTa@HH~C) zi7fhM?LKQ5C6@`-G0S?svVrexWR5)M$>$e^Du_)glp+<*W);U)wF9R zO0iHT-Ihz&JEc;obhn!%_K1cHCzbkKsIzNO>@b4z;wSfDrjM0jLjyQ`IJ}4t7jbkE zpDf~-pej{mBZO4-5jsdzxqX1~T>l9FJEB!Ap(K2|i4v(2c8P3>f+1dbv8N6(=|%D@ zFNwaAGa~6F@;^2E=&YV-&FJ#6x3b@hfkLiuQ*?5;Cm+(iCb>r53H!y{8mt^3nu9VA zH)+(0!-wQnoxHqWrq)1{INl=pIL)+kj80)5+GL6yGR021Il*O4N}W@TbDHU7&S4gL xn-mkHcrW8eB%ArbK3Q{$wIB5hQAr7!wt&%Pq;dgMkw8$;PccIANzNPi{1<=asCfVY diff --git a/bin/LernProgramm/testProgramm.class b/bin/LernProgramm/testProgramm.class index 3bb2c479167bbcaee6fa04cb0a67785d1eb19334..583d3d5da4e54dfbf7e29df5c169ad58065d9585 100644 GIT binary patch delta 280 zcmZXOy-LGy6vco4q$V+@nr0A+pl(f2XoC)F>qo601jI#f4{a!sG(wxW`V7S<2`UA|S(Abcg1`1cMDRYl5DtO+JcjE3X==B<{a%;gw lC8~xkdtH8DTksAIc3Bg)xpd)B7iMEI;7W28*TOY!{s5n3F;V~k delta 45 zcmdnUb&Nyc)W2Q(7#JAr7%bTtm>3x(Cr*^ysQG|tau2f>BlG6%%)E@O3=B*R763Xf B3v~bh