Wie eine Ziffer/Dezimalzahl im Array speichern?

3 Antworten

Endziffern bekommst Du mit "%", und die letzte Ziffer streichst Du dadurch, dass Du durch 10 teilst und den ganzzahligen Teil nimmst. Der Rest ist zählen.


Elachen99 
Beitragsersteller
 17.02.2020, 12:01

ja habe auch drüber nachgedacht

W00dp3ckr  17.02.2020, 12:04
@Elachen99

Ja, aber guggemo, das ist doch die Lösung!

Du machst eine while-Schleife. Solange die Zahl x>0 ist, machst Du das folgende.

berechne x%10

zähle feld[x] um eins hoch

teile x durch 10

Weiter.

Der einzige Sonderfall ist die Zahl 0, die hat halt die Ziffer 0 (und nur eine davon).

Elachen99 
Beitragsersteller
 17.02.2020, 19:47
@Elachen99

public static int berechneHäufigstenZiffer(int n) {

      int s = 0;

      int[] feld = new int[laengeDezimalDarstellung(n)];

      for (int i = feld.length - 1; i >= 0; i--) {

         feld[i] = n % 10;

         n = n / 10;

      }

      s = berechneHäufigstenWert(feld);

      return s;

   }

Ich habe einfach eine Funktion geschrieben, die Länge liest der Dezimalzahl, Länge habe ich genutzt um die passende Array länge zu haben. anschließen habe ich in einer For-Schleife das gemacht was mein Gedanke war und evolla es funktioniert

Ist ein bisschen gecheatet, aber kannst du die Zahl nicht einfach in einen Text umwandeln und die Ziffern die zeichenweise auslesen?

Woher ich das weiß:Berufserfahrung – Programmierer

Elachen99 
Beitragsersteller
 17.02.2020, 12:01

ich weiß leider nicht wie, gibt es da eine Funktion?