www.ahlu-sunnah.de Geschrieben 14. Dezember 2007 Geschrieben 14. Dezember 2007 Morgen Leute! schaut euch bitte folgenden Code an: import javax.swing.*; public class TestProgramm { public static void main (String[]args) { int a=0; int b=0; int c=0; int d=0; JOptionPane.showMessageDialog(null,"Denken Sie sich eine Zahl zwischen 0 und 15!"); if (JOptionPane.showConfirmDialog(null, "Ist die Zahl unter diesen: 9 3 11 13 7 1 15 5 ?", "Auswahl der Zahl " , JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION); if (false) { a=0; } if (true) { a=1; } if (JOptionPane.showConfirmDialog(null, "Ist die Zahl unter diesen: 2 10 6 3 15 11 7 14 ?", "Auswahl der Zahl " , JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION); if (false) { b=0; } if (true) { b=1; } if (JOptionPane.showConfirmDialog(null, "Ist die Zahl unter diesen: 12 14 4 7 15 6 13 5 ?", "Auswahl der Zahl " , JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION); if (false) { c=0; } if (true) { c=1; } if (JOptionPane.showConfirmDialog(null, "Ist die Zahl unter diesen: 14 15 12 11 8 10 13 9 ?", "Auswahl der Zahl " , JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION); if (false) { d=0; } if (true) { d=1; } if (d==0 && c==0 && b==0 && a==0) { JOptionPane.showMessageDialog(null,"Ihre Zahl ist 0"); } if (d==0 && c==0 && b==0 && a==1) { JOptionPane.showMessageDialog(null,"Ihre Zahl ist 1"); } if (d==0 && c==0 && b==1 && a==0) { JOptionPane.showMessageDialog(null,"Ihre Zahl ist 2"); } if (d==0 && c==0 && b==1 && a==1) { JOptionPane.showMessageDialog(null,"Ihre Zahl ist 3"); } if (d==0 && c==1 && b==0 && a==0) { JOptionPane.showMessageDialog(null,"Ihre Zahl ist 4"); } if (d==0 && c==1 && b==0 && a==1) { JOptionPane.showMessageDialog(null,"Ihre Zahl ist 5"); } if (d==0 && c==1 && b==1 && a==0) { JOptionPane.showMessageDialog(null,"Ihre Zahl ist 6"); } if (d==0 && c==1 && b==1 && a==1) { JOptionPane.showMessageDialog(null,"Ihre Zahl ist 7"); } if (d==1 && c==0 && b==0 && a==0) { JOptionPane.showMessageDialog(null,"Ihre Zahl ist 8"); } if (d==1 && c==0 && b==0 && a==1) { JOptionPane.showMessageDialog(null,"Ihre Zahl ist 9"); } if (d==1 && c==0 && b==1 && a==0) { JOptionPane.showMessageDialog(null,"Ihre Zahl ist 10"); } if (d==1 && c==0 && b==1 && a==1) { JOptionPane.showMessageDialog(null,"Ihre Zahl ist 11"); } if (d==1 && c==1 && b==0 && a==0) { JOptionPane.showMessageDialog(null,"Ihre Zahl ist 12"); } if (d==1 && c==1 && b==0 && a==1) { JOptionPane.showMessageDialog(null,"Ihre Zahl ist 13"); } if (d==1 && c==1 && b==1 && a==0) { JOptionPane.showMessageDialog(null,"Ihre Zahl ist 14"); } if (d==1 && c==1 && b==1 && c==1) { JOptionPane.showMessageDialog(null,"Ihre Zahl ist 15"); } System.out.println(a+" "+b+" "+c+" "+d+" "); } } Ich möchte einen Zahlentrick programmieren. Am besten schaut ihr auf diese Seite:Zahlen erraten. Das funktioniert über Binärcode. Leider spuckt das Programm immer nur 15 aus, warum ist das so? Vielen Dank im voraus! MFG Ahlu-Sunnah Zitieren
Der Kleine Geschrieben 14. Dezember 2007 Geschrieben 14. Dezember 2007 Kann es sein, dass du den Button "zeige die zahl" vergessen hast? IMo müsste die berechnung doch sofort durchlaufen und nicht erst nach Aufforderung. Oder verschweigst du uns Quelltext? Zitieren
Jaraz Geschrieben 14. Dezember 2007 Geschrieben 14. Dezember 2007 Hi, du musst die Rückgabe von showConfirmDialog in eine Variable speichern und weiterverarbeiten und nicht folgendes schreiben: if (false) { b = 0; } if (true) { b = 1; } true ist immer true also b immer 1; Gruß Jaraz Zitieren
www.ahlu-sunnah.de Geschrieben 14. Dezember 2007 Autor Geschrieben 14. Dezember 2007 Hi, du musst die Rückgabe von showConfirmDialog in eine Variable speichern und weiterverarbeiten und nicht folgendes schreiben: if (false) { b = 0; } if (true) { b = 1; } true ist immer true also b immer 1; Gruß Jaraz Hi Jaraz, Ich hab dieses Programm -mit den begrenzten Wissen das ich habe- selbst geschrieben. Leider bin ich nicht so fit in Sachen programmieren. Was meinst du mit die Rückgab in einer Variablen speichern? MFG Ahlu-Sunnah Zitieren
grueni Geschrieben 14. Dezember 2007 Geschrieben 14. Dezember 2007 Probier das mal so: if (JOptionPane.showConfirmDialog(null, "Ist die Zahl unter diesen: 9 3 11 13 7 1 15 5 ?", "Auswahl der Zahl " , JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) { a=0; } else { a=1; } Das was du da machst, ergibt überhaupt gar keinen Sinn. In der If-Abfrage in der du den Confirm-Dialog abfragst, machst du gar nix. P.S.: Keine Garantie für eventuelle Syntax- oder Tippfehler Zitieren
Milhouse2k Geschrieben 14. Dezember 2007 Geschrieben 14. Dezember 2007 Also den unkompliziertesten Weg hat Grueni mit der korrigierten if Variante erklärt. nochmals zur Erläuterung für die if Abfrage: if ( wenn Anweisung korrekt- also zahl in Reihe vorhanden ) { tue irgendwas ( variable z.b. a = 1) } else { tue irgendwas ( variable z.b. a=0 ) } @ahlu-sunnah Anmerkung: Man sollte nicht einfach mit Codeschnipseln losprogrammieren, solange man nicht die super BASICS des Programmierens kennt. Solche Fragen wie was ist eine Variable oder wie geht eine if Abfrage müssten da im Vorfeld schon geklärt sein. Ich empfehle hierbei ein Buch zur Hadn zu nehmen, z.B. Java als erste Programmiersprache (weis den verlag gerade nicht) Eine fortgeschrittene Lösung wäre es, wenn du eine Bitmaske erstellst und die gegebene 0 oder 1 immer um ein Bit nach links "Shiftest" um dann die komplette 4 Bit lange Zahl auszulesen, dann würden die ganzen if Abfragen für die Auswertung wegfallen. Have fun Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.