Wie kann ich folgende Formel (anfängergerecht) in Java umsetzen?
Ich will eine neunstellige Zahl über int nummer=Integer.parseInt=args[0] einlesen und jedes der neun Elemente mit seiner "Platzzahl" multiplizieren. Diese Zahlen sollen dann alle addiert werden und modulo 11 gerechnet werden.
Desweiteren möchte ich die Ziffernfolge im folgendem Format ausgeben lassen: X-XXXXX-XXX. (eher unwichtig, trotzdem nett zu wissen.)
Kann mir das jemand anfängergerecht erklären? Ein fortgeschrittener Code bringt mir nicht wirklich viel, ich würde lieber wissen, wie ich sowas generell umsetze, also das aufsplitten von Zahlen zb.
Gruß und danke!
Willkommen im #Neuland
Login wie bei quake.ingame.de zuvor, die Passwörter aus der alten Datenbank wurden aber gelöscht - einmal hier neu anfordern.
Wer seine E-Mail-Adresse nicht mehr hat oder kennt, bitte eine Nachricht mit Infos schicken o. im Discord melden.
PQ Discord Server: #planetquake Spenden? Hier entlang!
Login wie bei quake.ingame.de zuvor, die Passwörter aus der alten Datenbank wurden aber gelöscht - einmal hier neu anfordern.
Wer seine E-Mail-Adresse nicht mehr hat oder kennt, bitte eine Nachricht mit Infos schicken o. im Discord melden.
PQ Discord Server: #planetquake Spenden? Hier entlang!
Frage zu Java
-
- Capture
- Beiträge: 6219
- Registriert: Nov 2006
Frage zu Java
Lieber toter Rapper als lebender Singer/Songwriter!
-
- Rampage
- Beiträge: 14303
- Registriert: Jun 2001
- Steam: TomHonks
du wandelst den integer in einen string bzw. ein char-array um und wandelst dann jeden char in dem string wieder in einen integer um. die formel lässt sich dann einfach in eine schleife packen.
pseudocode (angenommen der koeffizient für die höchstwertige zahl ist z1):
chararray = komplettezahl.ToCharArray();
i = 0;
endergebnis = 0;
solange i < 9
{
endergebnis = endergebnis+chararray*(i+1); (kurz: endergebnis += chararray*(i+1); )
i++;
}
endergebnis = endergebnis % 11; (kurz: endergebnis %= 11; )
ich kenne mich mit java nicht so gut aus, aber in C gibt es funktionen die dir ints/chars/strings in chars/strings/ints umwandelt (zahl.ToString() oder string.ToInt()). google sollte weiterhelfen.
eine andere art der umwandlung ist der sogenannte cast. hierzu schreibst du einfach xyz = (string)zahl. kP ob das in java geht.
pseudocode (angenommen der koeffizient für die höchstwertige zahl ist z1):
chararray = komplettezahl.ToCharArray();
i = 0;
endergebnis = 0;
solange i < 9
{
endergebnis = endergebnis+chararray*(i+1); (kurz: endergebnis += chararray*(i+1); )
i++;
}
endergebnis = endergebnis % 11; (kurz: endergebnis %= 11; )
ich kenne mich mit java nicht so gut aus, aber in C gibt es funktionen die dir ints/chars/strings in chars/strings/ints umwandelt (zahl.ToString() oder string.ToInt()). google sollte weiterhelfen.
eine andere art der umwandlung ist der sogenannte cast. hierzu schreibst du einfach xyz = (string)zahl. kP ob das in java geht.
Danke an Drasora für ihr Wichtelgeschenk!
MAR hat geschrieben:Führt der durch den Terrence-Hill?
-
- Capture
- Beiträge: 6219
- Registriert: Nov 2006
-
- Capture
- Beiträge: 6219
- Registriert: Nov 2006
mit dem chararray sollen wir nicht arbetein.
also ich will die zahl über die kommandozeile einlesen, über:
dann habe ich ja die zahl, mit der ich weiterarbeiten kann. wie schreibe ich denn, dass java mir bei ner 9stelligen zahl bspw: 987654321
rechnet?
also ich will die zahl über die kommandozeile einlesen, über:
Code: Alles auswählen
nummer=Integer.parseInt(args[0]);
Code: Alles auswählen
1*9 + 2*8 + 3*7.... + 9*1
Lieber toter Rapper als lebender Singer/Songwriter!
-
- Bones
- Beiträge: 3074
- Registriert: Aug 2003
- Kontaktdaten: