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 
Fragesteller
 17.02.2020, 12:01

ja habe auch drüber nachgedacht

0
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).

0
Elachen99 
Fragesteller
 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

1

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 
Fragesteller
 17.02.2020, 12:01

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

0