Computerhilfen.de Logo
Forum
Tipps
News

Java und count??

Habe in Java eine binär zahl., jetzt muss ich alle 1sen und alle 0en in der binär zahl zusammenzählen. Aber irgendwie find ich keine lösung dafür, der befehl count klappt bei mir nicht.Kann jemand mir helfen


Antworten zu Java und count??:

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ist etwas wenig Information. Ein Schnipsel Code wäre wohl das Beste ;)

Und was hast du genau vor? "Zusammenzählen" klingt für mich nach einer Quersummenberechnung. Oder?

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ich gebe eine Zahl Binär aus, also 0101 0001....., jetzt soll ich ein code schreiben, der alle 1 und 0 zählt und dann die Menge ausgibt.

       long zahl  = TastaturEingabe.readLong("Geben sie eine Zahl ein ");
      
      
       FormatierteAusgabe.binaerAusgabe(zahl,64);

das ist der Code für die Eingabe und Ausgabe und muss alle 1 und 0 zusammenzählen, kenne count befehl von PHP, aber hier funzt der bei mir nicht und Internet hat nicht viel geholfen

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ein Äquivalent des Count-Befehls von PHP würde dir hier reichlich wenig nützen. Es geht auch nicht darum, einen "Befehl" zu kennen, sondern die Herangehensweise an das Problem zu durchdenken.

Wie könnte man rangehen? Die Binärzahl ist ja nicht wirklich eine Zahl, sondern ein String. Von dem könntest du Stück für Stück ein Zeichen wegnehmen und gucken, ob es sich um eine 0 oder eine 1 handelt. Für jeden Fall inkrementierst du eine Zählvariable.

Alternative, die mir grad einfällt: Du bildest die Quersumme. Das Ergebnis ist die Anzahl der 1en. Von der Länge des Strings subtrahierst du die Quersumme und erhältst damit die Anzahl der 0en.

So, jetzt gieße das mal noch in Code :)

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

das hab ich mir schon überlegt

String string = zahl;
String[] tokens = string.split("");
for(String s : tokens)
   System.out.println(s);

 aber kriege immer fehlermeldung, weil die binärzahl in long ist und soll in string weiter gemacht werden

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Ah sorry, hatte das readLong() übersehen. Mit der von mir vorgeschlagenen Methode müsstest du die Eingabe als String einlesen.

greez 8)
JoSsiF

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

Weiß es jetzt nicht aus dem Kopf, aber eins von beiden müsste gehen um aus dem long nen String zu kriegen:

String string = String.valueOf(zahl);

Long l = new Long(zahl); // Umwandeln long->Long
String string = l.toString();
« Letzte Änderung: 27.04.09, 20:01:32 von Lisaa »

Hat dir diese Antwort geholfen?

Danke ButtonHilfreiche Antwort Button

...oder statt readLong() einfach readLine() ;)


« Mysql befehlProgrammieren lernen!!! Bitte hilfe... »
 

Schnelle Hilfe: Hier nach ähnlichen Fragen und passenden Tipps suchen!