binaer-boolean

Status
Nicht offen für weitere Antworten.
N

newbie08

Gast
Hallo,

ich möchte Binärzahlen in ein boolsches Array schreiben.
Das kleinste Bit steht an der 0.-ten Stelle, also z.B.:

Die Zahl 6 ist binär 110, also: boolean[] a = { false, true, true};
Nehme man noch die Zahl 100 (=4 im Dezimalsystem), boolean[] b = { false, true, true};

Ich will nun eine Methode schreiben, die als Parameter 2 boolsche Felder entgegennimmt und vergleicht.
Falls a < b soll es -1 sein, für a > b soll es 1 werden und für a = b (falls die beiden werte identisch sind) 0.

Meine Implementation ist:

Code:
public byte compare(boolean[] a, boolean[b])
{
     if(a.length == b.length)
     {
        for(int i = a.length-1; i > -1; i--)
        {
         if(a[i] == !b[i])  return -1;
         else if(!a[i] == b[i])  return 1;
       }
     return 0; 
     }
     else if(a.length > b.length) return 1;
     else if(a.length < b.length) return -1;
}

Wo liegt der Fehler in der Abfrage der for-schleife?
 

Illuvatar

Top Contributor
Auf den ersten Blick siehts relativ richtig aus, es wäre vielleicht einfacher wenn du dazusagst, was denn nicht funktioniert ;)
 
G

Guest

Gast
Code:
for(int i = a.length-1; i > -1; i--)
        {
         if(a[i] == !b[i])  return -1; // hier ist der Fehler (*)
         else if(!a[i] == b[i])  return 1; // 1 wird nie zurück gegeben (+)
       }


(*) hier wird immer -1 zurück gegeben, wenn a != b.

Es sollte aber -1 zurückgegeben werden wenn a = FALSE und b = TRUE
und 1 wenn a = TRUE und b = FALSE...


(+) denn wenn (!a == b) dann ist auch (a == !b) und das 'if' wurde ausgeführt.


Vorschlag:

Code:
for(int i = a.length-1; i > -1; i--) {
    if(a[i] == !b[i]) {
        if (a[i]) {
            return 1;
        } else {
            return -1;
        }
    }
}

Franco
 

Illuvatar

Top Contributor
Stimmt, Gast hat Recht. Einfacher als dieser Lösungsvorschlag (und das, was du vermutlich meinstest ;)) wäre
Code:
        for(int i = a.length-1; i > -1; i--) 
        { 
         if(a[i] && !b[i])  return -1; 
         else if(!a[i] && b[i])  return 1; 
       }
 
S

SlaterB

Gast
wenn schon Vorschlag, dann entferne bitte dieses unsägliche
if(a == !b) {

das schreibt man so:

if(a != b) {
 

diggaa1984

Top Contributor
SlaterB hat gesagt.:
wenn schon Vorschlag, dann entferne bitte dieses unsägliche
if(a == !b) {

das schreibt man so:

if(a != b) {


das is rein inhaltlich schon n unterschied :D

er schrieb a gleich dem negierten b

bei dir dann a und b sind verschieden
 
S

SlaterB

Gast
gib doch mal ein konkretes Beispiel, wo sich dieser Unterschied bemerkbar macht ;)
für mich ist das die gleiche Aussage
 
N

newbie08

Gast
Danke @Gast

@Illuvatar: Ja das meinte ich, ist ja auch irgendwo klar gewesen..... Wieso bin ich nicht selbst darauf gekommen? :D
 
N

newbie08

Gast
lol ich merke gerade, dass ich nicht richtig wach bin. :D

Der zweite Parameter in der Methode sollte natürlich boolean[] b sein und nicht boolean. :D

Und die letzte else if-Abfrage könnte ich auch zum else machen natürlich..
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Binaer Datei auslesen Java Basics - Anfänger-Themen 2
R Java boolean Unterschied " == " und " = " Java Basics - Anfänger-Themen 3
Zentriks Hilfe zu Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 5
Thomas06 Wie kann man mithilfe von boolean herausfinden ob eine zahl durch 5 und 7 teilbart ist ? Java Basics - Anfänger-Themen 7
C Java boolean Code läuft nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 5
xaerez Threads Boolean Wert verändert sich nicht Java Basics - Anfänger-Themen 4
V Hilfe bei Implementierung einer boolean Methode Java Basics - Anfänger-Themen 6
B Rückgabewert boolean Java Basics - Anfänger-Themen 8
J Compiler-Fehler Harshadzahlen mit Boolean Java Basics - Anfänger-Themen 4
J boolean aufgabe Java Basics - Anfänger-Themen 9
A Boolean Java Basics - Anfänger-Themen 5
C Ausgabe boolean return ((n==9)||(n==0)); Java Basics - Anfänger-Themen 13
J Boolean[] teilen Java Basics - Anfänger-Themen 13
S public static boolean Java Basics - Anfänger-Themen 4
R Boolean Methode Rückgabewert if() Java Basics - Anfänger-Themen 1
G Rekursive Methode liefert augenscheinlich keinen boolean-Wert zurück. Java Basics - Anfänger-Themen 4
kazzam94 Methode soll Array von Boolean zurückgeben Java Basics - Anfänger-Themen 5
L Überschriebene Boolean Statements Java Basics - Anfänger-Themen 2
L boolean-Abfrage enumeration Java Basics - Anfänger-Themen 3
A Ausgabe mit boolean Java Basics - Anfänger-Themen 3
R Boolean value ohne Kontrollstrukturen ändern Java Basics - Anfänger-Themen 5
F boolean stellt sich auf true Java Basics - Anfänger-Themen 15
V Boolean Wert nicht richtig erkannt Java Basics - Anfänger-Themen 4
Kirby.exe ArrayOutOfBoundsException bei boolean Array Java Basics - Anfänger-Themen 19
C Ganzzahlige Werte in Boolean ausgeben und überprüfen ob Primzahl oder nicht, wenn es keine Primzahl ist soll es die Primfaktorzerlegung ausgeben Java Basics - Anfänger-Themen 4
I converting boolean Array to String Array Java Basics - Anfänger-Themen 10
C Java Boolean reagiert nicht Java Basics - Anfänger-Themen 18
A Alle true Werte eines boolean Arrays herausfiltern Java Basics - Anfänger-Themen 19
G Ratlosigkeit zur Aufgabe im Anhang (boolean, equals.) Java Basics - Anfänger-Themen 20
F Boolean Methode Wert ausgeben. Java Basics - Anfänger-Themen 2
K Boolean in einer Methode um 2 Objekte zu vergleichen Java Basics - Anfänger-Themen 12
K Boolean in einer erstellten Klasse verwenden Java Basics - Anfänger-Themen 14
X Erste Schritte boolean wert ändert sich nicht? Java Basics - Anfänger-Themen 6
W Problem mit dem Wert von boolean-Variable Java Basics - Anfänger-Themen 3
P Array Sortieren mit boolean? Java Basics - Anfänger-Themen 33
A Boolean in String Java Basics - Anfänger-Themen 2
S Operatoren Boolean Vergleichsoperator Java Basics - Anfänger-Themen 7
Queiser Super boolean Java Basics - Anfänger-Themen 11
E ISBN Nummer mit boolean Java Basics - Anfänger-Themen 5
W In Methode boolean array zurückgeben Java Basics - Anfänger-Themen 3
B Math.random mit Boolean array? Java Basics - Anfänger-Themen 17
Z Boolean Abfrage in einer for each Schleife Java Basics - Anfänger-Themen 2
T Methoden Boolean wird nicht gesetzt Java Basics - Anfänger-Themen 1
H boolean Array Problem Java Basics - Anfänger-Themen 7
S boolean Wert von mehreren int Möglichkeiten abfragen ? Java Basics - Anfänger-Themen 4
J Problem mit Boolean bei Funktion! Java Basics - Anfänger-Themen 5
O boolean Array Frage! Java Basics - Anfänger-Themen 4
? Methoden Boolean Wert vergleichen und einlesen Java Basics - Anfänger-Themen 1
M Erste Schritte while boolean=false läuft nur bei true??? Java Basics - Anfänger-Themen 23
D Boolean Array initialisieren Java Basics - Anfänger-Themen 4
M Datentypen Byte, Float und Boolean Java Basics - Anfänger-Themen 13
A Problem beim Deklarieren von einem BOOLEAN Java Basics - Anfänger-Themen 4
W Interpreter-Fehler boolean nur eins darf wahr sein Java Basics - Anfänger-Themen 11
G Wie kann man den Erfolg einer Zuweisung als Boolean Wert verwenden? Java Basics - Anfänger-Themen 12
K Problem mit Methode(Array,Boolean,ForSchleife) Java Basics - Anfänger-Themen 6
V Methode erstellen für ein Boolean Array Java Basics - Anfänger-Themen 13
T Boolean by Reference Java Basics - Anfänger-Themen 6
L Wertebereich von boolean Java Basics - Anfänger-Themen 4
D Erklärung static boolean Java Basics - Anfänger-Themen 6
T Eine String Matrix erstellen die eine boolean Funtion verwendet Java Basics - Anfänger-Themen 10
J Datentypen Boolean Refferenz Objekt Java Basics - Anfänger-Themen 2
A boolean Methode ohne If und else Java Basics - Anfänger-Themen 1
fLooojava Laufender Thread | Boolean ändern Java Basics - Anfänger-Themen 9
T Boolean Missing return Statement?! Java Basics - Anfänger-Themen 2
A Boolean aus dem ActionlListener Java Basics - Anfänger-Themen 1
T hashCode mit boolean Java Basics - Anfänger-Themen 1
T boolean, was passiert hier? Java Basics - Anfänger-Themen 4
M Sind solche boolean Anweisen empfehlenswert? Java Basics - Anfänger-Themen 3
N Boolean Werte - immer "false" Java Basics - Anfänger-Themen 5
J GUI per Boolean steuern Java Basics - Anfänger-Themen 3
F Effizientes Lesen von 65 Datein mit Boolean Werten Java Basics - Anfänger-Themen 6
K Viergewinnt - boolean Problem Java Basics - Anfänger-Themen 2
S Best Practice Boolean mit IF verbinden Java Basics - Anfänger-Themen 7
D Boolean mit String Java Basics - Anfänger-Themen 2
K Methode ohne Rückgabewert in boolean Methode ändern Java Basics - Anfänger-Themen 6
E 2 dimensionales Boolean Array Java Basics - Anfänger-Themen 5
B assertArrayEquals nicht für boolean[]? Java Basics - Anfänger-Themen 2
M !boolean das selbe wie boolean == false? Java Basics - Anfänger-Themen 3
L Boolean Methode wirft Fehler aus Java Basics - Anfänger-Themen 12
M Erste Schritte boolean: ist Zahl Hexadezimal - Lösung verwirrend Java Basics - Anfänger-Themen 6
F Datentypen Frage nach Boolean Java Basics - Anfänger-Themen 11
C Sieb des Eratosthenes ohne boolean Java Basics - Anfänger-Themen 20
B Boolean abfrage Java Basics - Anfänger-Themen 3
L The operator && is undefined for the argument type(s) String, boolean Java Basics - Anfänger-Themen 8
L Methoden Boolean-Methode Java Basics - Anfänger-Themen 16
S Setter Methode von Boolean Java Basics - Anfänger-Themen 11
W Datentypen Zweidimensionales Boolean Array Java Basics - Anfänger-Themen 13
P Compiler-Fehler Boolean: Missing Return Statement Java Basics - Anfänger-Themen 4
M int & boolean Java Basics - Anfänger-Themen 12
feardorcha boolean array false - true - Abfrage Java Basics - Anfänger-Themen 10
R boolean, if-else Java Basics - Anfänger-Themen 7
J Variablen Boolean true "übersetzen" in String Java Basics - Anfänger-Themen 10
M Meldung "cannot convert flom boolean to boolean[]" Java Basics - Anfänger-Themen 3
S Name eines boolean ausgeben (nicht den Wert) Java Basics - Anfänger-Themen 43
S Variablen Prüfen, ob einer von vielen boolean true ist Java Basics - Anfänger-Themen 8
D boolean te wird nicht verwendet Java Basics - Anfänger-Themen 2
M Bedingte Anweisung mit Boolean Java Basics - Anfänger-Themen 2
C cannot convert from int to boolean Java Basics - Anfänger-Themen 3
T Variablen boolean-wert wird nicht gesetzt Java Basics - Anfänger-Themen 6

Ähnliche Java Themen


Oben