mehrere eingegebene Zahlen mit Zahlen von 1-9 multiplizieren

fluxinello

Mitglied
Moin,
Wie gehe ich vor, wenn ich 9 eingegebene Zahlen, mit je Zahlen 1-9 multiplizieren will?
z.B: 987654321 = 9*1, 8*2, 7*3, 6*4 usw.
Gibt doch bestimmt ne Möglichkeit, die eingegebenen Zahlen nicht alle einzeln definieren zu müssen oder?
z.B:
int eingegebenZahl1,
int eingegebeneZahl2,

usw.

Beste Grüße,
 
Hab noch nichts geschrieben, wollte mir erstmal ein Konzept machen wie ich anfange.
Und wenn ich mein grobes Konzept hab will ichs umsetzen 😛
Ihr sollt mir keinen Code oder sowas geben dafür, eher was man da machen kann, also welche Möglichkeiten es da gibt.
 
Ich würde folgendes machen:

- Die eingelesenen Werte in ein Array packen
- in einer for-Schleife die Werte 1 - 9 durchlaufen
- dein i (Zählervariable der for-Schleife) mal dem Array an der Stelle (i-1) rechnen i-1 weil dein Array ja beim Index 0 anfängt
- Vorher solltest du noch prüfen ob der User wirklich 9 Zahlen eingegeben hat
 
Listen wären einfacher zu händeln und zu lesen.
Aber er kennt ja die Länge des Arrays. Und ob er nun arrayList.add(input) oder array[i] = input schreibt sollte doch eig. egal sein. (Ich gehe mal davon aus, dass er die Eingabe der 9 Zahlen durch eine Schleife realisiert.)
Ich lass mich gerne eines besseren belehren 😛[/i]
 
Bei arrays muss man immer mit dem Index rechnen. Beim Schreiben und Lesen kommen da einen Listen entgegen. Das Wissen, wo ein array anfängt und wann endet entfällt.
 
Bei arrays muss man immer mit dem Index rechnen. Beim Schreiben und Lesen kommen da einen Listen entgegen. Das Wissen, wo ein array anfängt und wann endet entfällt.
Hier gibts den Vorteil nur beim schreiben, und da er weiß, wie viele Eingaben es gibt, bringt ihm die variable Größe nicht mal was. Beim Lesen brauch er so oder so den Index.

Das Wissen, dass ein Array bei 0 anfängt braucht er so oder so, auch bei der Liste^^
 
Du könntest auch eine Schleife so Schreiben for (int i=1; i<=9; i++)
was erstmal ein wenig intuitiver ist, weil du beim liste.add den Index nicht brauchst.
 
Ich versteh immer noch nicht warum er 2 Schleifen nutzen sollte.. mit einer Schleife geht es doch wunderbar (siehe oben) 😕
 
Ach so meinst du das. Ich hab das jetzt so verstanden, dass er (warum auch immer) 2 Schleifen nur für die Berechnung braucht.
Das wollte irgendwie nicht in mein Kopf rein.

Das er zum Einlesen auch eine braucht ist richtig.
 
Wenn du immer 9 Ziffern hast, dann nimm sie als komplette 9 ziffrige Zahl entgegen und diviere ganzzahlig mit Restbetrachtung. Bevor ich mich jetzt "verkläre": ((x / 10 ^ n) mod 10)*(9-n)
^ heißt hier hoch, das ganze für n = 8 ... 0 in einer while-Schleife
 
Ich habe jetzt mal angefangen zu schreiben.
- Mein Plan war es, die 9 Zahlen die ich via main Methode später über die Konsole eingebe, in einem Array zu sammeln.
- Dann will ich eine einlesen Methode schreiben, welche nach den 9 Zahlen die eingegeben werden sollen fragt. Diese eingegebenen Zahlen soll sich die einlesen Methode dann aus dem Array schnappen.

Warum soll ich denn jetzt 2 Schleifen benutzen? Eine wäre mir klar, um die Multiplikation der eingegebenen Zahlen mit den Zahlen 1-9. Aber wofür bei der Einlesenfunktion eine Schleife?
 
Ja jetzt wo ich drüber nachdenke, wirds mir auch klar 😀
Mein Plan lautet so:
- Array für die 9 Zahlen die ich eingebe machen.
- 1. Schleife zur wiederholten Abfrage der 9 eingegebenen Zahlen.
- 2. Schleife um die Multiplikation der eingegebenen Zahlen mit den Zahl 1-9

Ich habe jetzt in das Array die 9 eingabezahlen gepackt.
Sieht bei mir so aus:
Java:
String [] eingabeZahlen = { "zahl1", "zahl2","zahl3","zahl4","zahl5","zahl6","zahl7","zahl8","zahl9"};

Ist das soweit richtig mit dem String?
Natürlich sollen die zahlen an sich nen Intwert haben, aber zahl1, zahl2 usw kann ja kein int-wert sein oder? Müsste also dem String später nen Intwert zuweisen oder? Oder muss ich die irgendwie konvertieren?
 

Neue Themen


Zurück
Oben