Quicksort raten

Status
Nicht offen für weitere Antworten.
C

cryptonize

Gast
Hallo erstmal,
ich habe versucht ein Programm zu schreiben, dass erst 2 Zufallszahlen im Bereich von 1 und 100 erstellt.
Dann muss sich der Benutzer eine Zahl in diesem Bereich denken und das Programm versucht die zahl in möglichst wenigen Schritten herauszubekommen .
Der Benutzer wird gefragt , ob die zahl größer als der Mittelwert der beiden Zahlen ist (usw...)
Aber so wie ich es beschrieben habe funktioniert es bei mir nicht:'(
Wäre nett wenn ihr es euch mal anschaut...
Schon mal danke im voraus
Code:
   //Quicksort mit zahlen
   import java.util.*;
    class Qsfunk{
       double speicher;
       int erg;

      double zufall(){
       
       Random eins = new Random(); 
       speicher = eins.nextDouble();
        return speicher;
       }
      boolean zufallcheck(double zufall1, double zufall2){
         if (zufall1<zufall2){
            return false;
           }
         
             return true;
            
          } 
           boolean check(int mitte, int oben){
             if(oben-mitte==1)
                return false;
             return true;
               }
       
                                  
      }
    class Qs{
     public static void main (String args[])
       throws java.io.IOException{
       Qsfunk ob = new Qsfunk();
        char eingabe;
       double zufall1 , zufall2 ;
       int gesammt, mitte , erg, zwischen, oben, unten, differenz;
         
       for(;;){                       //Endlosschleife Anfang
       zufall1 = Math.round(Math.abs(ob.zufall()*100));
       zufall2 = Math.round(Math.abs(ob.zufall()*100));
         if(ob.zufallcheck(zufall1, zufall2)){
           ob.zufall();
           }
         else break;
      }                           //Endlosschleife Ende

              gesammt = (int) (zufall1 +zufall2);
       System.out.println("Du denkst dir eine Zahl zwischen "+ zufall1+ " und " + zufall2+" und der Computer errät sie");
        mitte= (int)Math.floor(gesammt /2);
        
        System.out.println("Ist die Zahl größer als"+ mitte+" 1 = ja : 2 = nein");
         one:
         for(;;){

            System.out.println("Ist die Zahl größer als"+ mitte+" 1 = ja : 2 = nein : 3 = gleich");
             unten=(int) zufall1;
             oben =(int) zufall2;
             eingabe = (char) System.in.read();
                 if(eingabe=='1') //JA
                   {
                      
                      differenz= oben- mitte;
                      zwischen = mitte;
                      mitte= mitte + differenz / 2;
                      unten = zwischen;
                      
                         if(ob.check(mitte, oben)){
                            erg=oben;
                            break;
                            } 
                       
                                            
                     }
                 if(eingabe=='2') //NEIN
                   {
                      
                      differenz= mitte- unten;
                      zwischen= mitte;
                      mitte= unten+ differenz/2;
                      oben = zwischen;
                       if(ob.check(mitte, oben)){
                            erg=oben;
                            break;
                            }
                      
                     }
                  if(eingabe=='3') //GLEICH
                   {
                      
                      erg= mitte ;
                      break;
                      
                     }
             
              
               
              
               }
             System.out.println("Das Ergebnis ist:"+ erg);
   }}
 
S

SlaterB

Gast
schade dass du nicht sagst, was das ganze mit Quicksort zu tun haben soll ;)

-----------

> if (ob.zufallcheck(zufall1, zufall2))
> {
> ob.zufall();
> }


was soll dieser Code, wozu machst du den zufall()-Aufruf, wenn du das Ergebnis nicht verwendest?


-------
> one:

label sind schlimmes Java, in Anfängerprogrammen überhaupt nicht zu gebrauchen, verwendest du auch gar nicht

-------

ich habs mal getestest, z.B. Zahl zwischen 5 und 50
bei der ersten Frage (>=< 27) antworte ich mit ja,

es geht in das if, unten ist 27, oben ist 50, mitte 38 oder so,

> if(ob.check(mitte, oben)){
liefert natürlich true weil 38 nicht genau 1 kleiner als 50 ist
und daraufhin setzt du 50 als Endergebnis,

was soll man dazu sagen? ist halt noch nicht richtig programmiert, oder? ;)
 
G

Gast

Gast
Haett ja gern mal drueber geschaut aber die Formatierung ist grauenhaft... ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Java Quicksort PAP Java Basics - Anfänger-Themen 2
B Quicksort in Verbindung mit einem Projekt Java Basics - Anfänger-Themen 1
M QuickSort und Liste Java Basics - Anfänger-Themen 6
S Laufzeit Quicksort wenn alle Elemente gleich sind Java Basics - Anfänger-Themen 4
G Quicksort Algorithmus Java Basics - Anfänger-Themen 12
Hanschyo Quicksort sortiert von groß nach klein Java Basics - Anfänger-Themen 3
R Quicksort mit Interface Comparable Java Basics - Anfänger-Themen 6
L Quicksort verstehen Java Basics - Anfänger-Themen 3
M Quicksort Laufzeit langsam Java Basics - Anfänger-Themen 5
M Quicksort Laufzeit langsam Java Basics - Anfänger-Themen 0
J Quicksort mit Stack Java Basics - Anfänger-Themen 4
Liondary Quicksort Java Basics - Anfänger-Themen 20
K Quicksort Fehler in der Implementierung Java Basics - Anfänger-Themen 2
S Quicksort Algorithmus Java Basics - Anfänger-Themen 2
D Java Quicksort Java Basics - Anfänger-Themen 5
A Frage zu QuickSort Java Basics - Anfänger-Themen 9
B Quicksort mit Durchschnitt als Pivot Java Basics - Anfänger-Themen 1
K Quicksort Java Basics - Anfänger-Themen 3
M Quicksort - Probleme Java Basics - Anfänger-Themen 5
T QuickSort implementieren Java Basics - Anfänger-Themen 5
R QuickSort Verständis Problem (?) Java Basics - Anfänger-Themen 2
M Quicksort implementierung Java Basics - Anfänger-Themen 23
E Quicksort Java Basics - Anfänger-Themen 8
Xendarii Quicksort gibt kein Ergebnis aus Java Basics - Anfänger-Themen 13
E QuickSort: Ergebniss speichern Java Basics - Anfänger-Themen 2
P quickSort eines Objekt-Arrays geht nicht! Java Basics - Anfänger-Themen 11
F Stackoverflow bei Quicksort Java Basics - Anfänger-Themen 2
F Quicksort Java Basics - Anfänger-Themen 22
C Quicksort Invariante Java Basics - Anfänger-Themen 2
C QuickSort - Pivot in der Mitte Java Basics - Anfänger-Themen 5
P QuickSort iterativ Java Basics - Anfänger-Themen 5
K Eine Frage zum Quicksort Java Basics - Anfänger-Themen 11
B Quicksort --> Methodenaufruf Java Basics - Anfänger-Themen 10
B QuickSort - Fehler nicht zu finden Java Basics - Anfänger-Themen 2
W Quicksort Problem Java Basics - Anfänger-Themen 3
A Quicksort, #Vergleiche zählen klappt nicht Java Basics - Anfänger-Themen 3
J Quicksort Implementierung-- Exception ArrayOutOfBounds Java Basics - Anfänger-Themen 6
M Fehler in meinem Quicksort! Java Basics - Anfänger-Themen 21
B Quicksort Struktogramm Java Basics - Anfänger-Themen 9
G Frage zu Quicksort Java Basics - Anfänger-Themen 18
0 Quicksort bsp Java Basics - Anfänger-Themen 5
B Quicksort Problem Java Basics - Anfänger-Themen 6
S Mein Quicksort Problem: he method quickSort(int[], int, int) Java Basics - Anfänger-Themen 2
M Quicksort Java Basics - Anfänger-Themen 2
K ArrayList sortieren mit Quicksort Java Basics - Anfänger-Themen 3
M Quicksort Java Basics - Anfänger-Themen 4
J Quicksort programmieren Probleme Java Basics - Anfänger-Themen 9
S Quicksort Programm Java Basics - Anfänger-Themen 7
D Quicksort Java Basics - Anfänger-Themen 3
K Parameterübergabe bei quickSort Java Basics - Anfänger-Themen 6
S QuickSort will mir nicht in den Kopf (an einer Stelle) Java Basics - Anfänger-Themen 14
0 Quicksort Java Basics - Anfänger-Themen 2
M QuickSort Java Basics - Anfänger-Themen 4
J QuickSort - kurze Frage Java Basics - Anfänger-Themen 9
H Quicksort und Rekursiv: Türme von Hanoi Java Basics - Anfänger-Themen 9
M zahl raten Java Basics - Anfänger-Themen 1
L Zahlen Raten Java Basics - Anfänger-Themen 11

Ähnliche Java Themen

Neue Themen


Oben