Mit Anzahl Startparametern rechnen

Status
Nicht offen für weitere Antworten.

Fantajim

Mitglied
Hallo liebe Jave Community ;D

Dies hier ist mein erster Post, ich habe mich gründlich auf google ausgetobt und nirgends eine Hilfestellung gefunden oder ich hab sie nicht kapiert... ich bin also ein blutiger Anfänger..

Folgendes Problem:
Ich muss ein Program erstellen das beliebig viele Startparameter hat und das arithmetische Mittel davon in der Konsole ausgibt.

Das Ausgeben und die beliebig vielen Parameter bekomm ich hin, jedoch begreif ich nicht wie man mit den x parametern rechnet, geschweige denn eine Anzahl der x parameter bekommt.

Bis jetzt habe ich folgendes:

Java:
public class AufgabeF {

public static void main(String[] args){

for (int i = 0; i < args.length; ++i) {
a = ?
System.out.println("Mittelwert der Parameter " +a);
}
}
}
Kann mir jemand eine Hilfestütze geben bitte? ich möchte keinen Lösungscode, wäre aber sehr sehr froh um eine Erklärung wie ich vorgehen soll.

Ich habe erst 3 Lektionen Java Unterricht gehabt :)

Greetz
Fantajim
 
Zuletzt bearbeitet:

hdi

Top Contributor
Die Parameter werden als Strings eingelesen, also Zeichenketten. Damit kann man natürlich nicht rechnen, man kann sie aber umwandeln in Zahlen:

Java:
int firstParameter = Integer.parseInt(args[0]);
double second = Double.parseDouble(args[1]);

Je nachdem ob du Fließkommazahlen hast oder nur natürliche Zahlen.
 

L-ectron-X

Gesperrter Benutzer
Du bekommst Strings in einem String-Array als Argumente geliefert.
Damit du mit den Zahlenwerten, die als String gespeichert wurden, rechenen kannst, musst du sie in den passenden Datentyp umwandeln (parsen).

Und da ein Array mehrere Werte eines Typs aufnimmt, musst du sie auch einzeln herausholen und parsen.
Die for-Schleife ist dafür gut geeignet.
An die Werte an den index-Positionen eines Arrays kommst du über die Angabe des Indexes.
Daher war dein [c]++i[/c] in der for-Schleife nicht optimal, weil ein Array immer den ersten Wert am Index 0 speichert. Du hättest also den ersten Wert (an Index 0) nie aus dem Array geholt, sondern den an Index 1. [c]++i[/code] bedeutet soviel wie: "Addiere den Wert 1 zu i, bevor du die Anweisung(en) in der for-Schleife ausführst.

An die einzelnen Werte im Array kommst du über den Zähler i.
[c]String str = args;[/c]

Danach musst du den Wert im String parsen und erst danach kannst du mit dem neuen Datentyp rechnen.
 

Fantajim

Mitglied
Vielen Danke für die schnelle Antwort hdi!

Die Parameter werden als Strings eingelesen, also Zeichenketten. Damit kann man natürlich nicht rechnen, man kann sie aber umwandeln in Zahlen:

Java:
int firstParameter = Integer.parseInt(args[0]);
double second = Double.parseDouble(args[1]);

Je nachdem ob du Fließkommazahlen hast oder nur natürliche Zahlen.

Mit deinem firstParameter wird aber nur der erste Parameter in eine Zahl umgewandelt oder?

Die mathematische vereinfachte Formel für das arithmetische Mittel ist

Summe
---------
Anzahl

Ich weiss aber nicht was für ein Befehl/Methode/Funktion von Java mir die Anzahl der eingegeben Startparametern anzeigt.

Bsp.: ich gebe: java AufgabeF 2 2 2 in der Konsole ein.
da wäre die Formel ja
6/3

Greetz
Fantajim
 

Fantajim

Mitglied
Auch dir danke vielmals für deine Antwort Ectron!

Ich befasse mich jetzt eine Weile mit deiner Antwort und versuche das mit dem parsen und schaue wie weit ich komme.

Danke vielmals!

Greetz
Fantajim

Du bekommst Strings in einem String-Array als Argumente geliefert.
Damit du mit den Zahlenwerten, die als String gespeichert wurden, rechenen kannst, musst du sie in den passenden Datentyp umwandeln (parsen).

Und da ein Array mehrere Werte eines Typs aufnimmt, musst du sie auch einzeln herausholen und parsen.
Die for-Schleife ist dafür gut geeignet.
An die Werte an den index-Positionen eines Arrays kommst du über die Angabe des Indexes.
Daher war dein [c]++i[/c] in der for-Schleife nicht optimal, weil ein Array immer den ersten Wert am Index 0 speichert. Du hättest also den ersten Wert (an Index 0) nie aus dem Array geholt, sondern den an Index 1. [c]++i[/code] bedeutet soviel wie: "Addiere den Wert 1 zu i, bevor du die Anweisung(en) in der for-Schleife ausführst.

An die einzelnen Werte im Array kommst du über den Zähler i.
[c]String str = args;[/c]

Danach musst du den Wert im String parsen und erst danach kannst du mit dem neuen Datentyp rechnen.
 

hdi

Top Contributor
in deinem Fall nutzt du halt die Zählvariable "i" in der Schleife. Wenn du immer args aufrufst, ist das halt erst der erste Parameter, dann der zweite, der dritte usw.

Diese Werte kannst du einer vorher erstellen Variablen immer dazuaddieren. Dann hast du schon mal die Summe aller Zahlen. Und wieviele Zahlen es waren, das kriegst du ja über args.length.

@L-extron-X

Es ist egal ob er i++ oder ++i schreibt. Die Anweisung wird immer erst nach dem Schleifendurchlauf ausgeführt, bei normalen Schleifen ist es also echt egal wie man das macht, weil sowieso keine weiteren Berechnungen dazwischenliegen.
 

Fantajim

Mitglied
Heyho eRaaaa

kann ich aber auch mit der args.length rechnen?
ich versuche mich jetzt an die Summe der eingebeben parametern mit der Hilfe von dem Index... wird ein weilchen dauern aber es macht Sinn.

Kann ich dann z.Bsp

Summe/ args.length rechnen? jetzt grob vereinfacht.

huhu,
das hattest du in deinem code aber schon richtig, die anzahl erfährst du mit:

args.length;


gruß
 

Fantajim

Mitglied
Heyho hdi

Danke dir wieder für die schnelle Antwort.

Ok ich mach mich ans coden.

Sorry für die umständlichen Fragen aber ist alles noch neu für mich...

Ich melde mich zurück mit der Lösung oder einem weiteren Problem ;D

Greetz
Fantajim

in deinem Fall nutzt du halt die Zählvariable "i" in der Schleife. Wenn du immer args aufrufst, ist das halt erst der erste Parameter, dann der zweite, der dritte usw.

Diese Werte kannst du einer vorher erstellen Variablen immer dazuaddieren. Dann hast du schon mal die Summe aller Zahlen. Und wieviele Zahlen es waren, das kriegst du ja über args.length.

@L-extron-X

Es ist egal ob er i++ oder ++i schreibt. Die Anweisung wird immer erst nach dem Schleifendurchlauf ausgeführt, bei normalen Schleifen ist es also echt egal wie man das macht, weil sowieso keine weiteren Berechnungen dazwischenliegen.
 

Fantajim

Mitglied
Heyho zusammen!!

Ich glaub ich habs!
Obwohl es stark nach noob code riecht ;D

Java:
public class AufgabeF {

public static void main(String[] args){
int b = 0;
for (int i = 0; i < args.length; ++i) {
int a = Integer.parseInt(args[i]);
int c = a+b;
b = c;
}
int d = b/args.length;
System.out.println("Mittelwert der Parameter ist " +d);
}
}

Vielen vielen Dank an Alle die mir mit Tipps geholfen haben ;D ;D ;D

Greetz
Fantajim
 

eRaaaa

Top Contributor
huhu,

2 sachen:

die erste ist, du brauchst diese ganzen hilfsvariablen eig. nicht. du kannst auch einfach
b = b + Integer.parseInt(args);
schreiben. oder noch vereinfacht:
b += Integer.parseInt(args);

die zweite sache ist, dein mittel, kann doch auch durchaus keine ganzzahl sein (da du ein int benutzt -->wird also auf/abgerundet werden. --> mittel unkorrekt!)

ansonsten :toll: ^^
 

Landei

Top Contributor
Es gibt noch eine zweite Art der for-Schleife, die dir einfach alle Werte in einem Array oder einer Collection liefert. Wenn du keinen Schleifen-Index brauchst, ist das einfacher:
Java:
public class AufgabeF {
 
  public static void main(String[] args){
    int summe = 0;
    for (String s : args) { //"für jeden String in args tue..."
       summe +=  Integer.parseInt(s);
    }
    double d = 1.0*summe/args.length;
    System.out.println("Mittelwert der Parameter ist " + d);
  }
}
 

Fantajim

Mitglied
Hab noch viel zu lernen ;D

Aber bin super dankbar für eure Hilfe ;D

Werd das gleich nochma durchgehn!

Thx und Greetz
Fantajim
 

Fantajim

Mitglied
huhu,

2 sachen:

die erste ist, du brauchst diese ganzen hilfsvariablen eig. nicht. du kannst auch einfach
b = b + Integer.parseInt(args);
schreiben. oder noch vereinfacht:
b += Integer.parseInt(args);

die zweite sache ist, dein mittel, kann doch auch durchaus keine ganzzahl sein (da du ein int benutzt -->wird also auf/abgerundet werden. --> mittel unkorrekt!)

ansonsten :toll: ^^


da hast du recht ich bin immer vom optimistischen Fall von einer Ganzzahl ausgegangen lol ;D

ich meld mich zurück mit der "finalen" Version.

GReetz
Fantajim
 

Fantajim

Mitglied
So hier nochmals der finale Code ^^

Java:
public class AufgabeF {

public static void main(String[] args){
int b = 0;
for (int i = 0; i < args.length; ++i) {
b = b + Integer.parseInt(args[i]);
}
double d = (double)b/args.length;
System.out.println("Mittelwert der Parameter ist " +d);
}
}

Danke euch allen nochmals und ich meld mich garantiert wieder beim nächsten Abenteuer lol

Greetz
Fantajim
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
onlyxlia Anzahl Random Zahlen mit Scanner abfragen und in Array speichern Java Basics - Anfänger-Themen 10
T code so schreiben das er von sich selber anpasst (code soll die anzahl aller bustaben bestimmen) Java Basics - Anfänger-Themen 16
C Parameter in verschiedenen Anzahl und Typen Java Basics - Anfänger-Themen 6
Ibrahim Anzahl möglicher Reiserouten zurückgeben Java Basics - Anfänger-Themen 5
K loop pausieren für eine bestimmte Anzahl? Java Basics - Anfänger-Themen 1
B bei 2 Arrays Anzahl gleicher Elemente vergleichen? Java Basics - Anfänger-Themen 49
M Anzahl Kommandozeilenparamter mittels Methode Java Basics - Anfänger-Themen 11
I Eindeutiger String mit maximaler Anzahl an Zeichen Java Basics - Anfänger-Themen 11
nils812 Black Jack Karten Anzahl begrenzen Java Basics - Anfänger-Themen 5
berserkerdq2 sqllite in Java, wenn ich mache select count(*) ..., erhalte ich dann nur die gezählte Anzahl oder werden auch die Tabellen ausgegeben? Java Basics - Anfänger-Themen 2
I Prüfen, ob Anzahl an Monate ein Jahr ergeben Java Basics - Anfänger-Themen 4
B Anzahl Nullen uns Einsen in String ermitteln Java Basics - Anfänger-Themen 3
O Ich habe einen String und soll mit matches schauen, ob ein Buchstabe zu einer geraden ANzahl im String vorkommt, wie soll das gehen? Java Basics - Anfänger-Themen 7
C Anzahl ArrayLists unbekannt Java Basics - Anfänger-Themen 4
O Anzahl Datensätze ausgeben Java Basics - Anfänger-Themen 5
T Maximale Anzahl von Konsonanten im String Java Basics - Anfänger-Themen 6
N Aus einem String die Anzahl der Vokale auslesen Java Basics - Anfänger-Themen 40
W Dez-->Binär mit eigener bit Anzahl Erkennung. Java Basics - Anfänger-Themen 3
RudiRüssel maximale Anzahl von Schlüsseln in einer Hash Tabelle Java Basics - Anfänger-Themen 2
W Anzahl der Zeilen ausgeben lassen Java Basics - Anfänger-Themen 20
J Verschieben von Buchstaben in einem String um vorgegebene Anzahl von Zeichen innerhalb eines weiteren String Java Basics - Anfänger-Themen 12
Kingamadeus2000 Anzahl der Ziffern der kürzesten Zahl aus einem zurückliefern Java Basics - Anfänger-Themen 1
Tino1993 for-Schleife, die eine vorgegebene Anzahl von Zeichen ausgibt Java Basics - Anfänger-Themen 3
M Anzahl Schleifendurchgänge nach x Sekunden anzeigen Java Basics - Anfänger-Themen 2
P Primzahl mit Angabe der höchsten Primzahl und Angabe der Anzahl von Primzahlen bis 100 Java Basics - Anfänger-Themen 8
L Anzahl der benachbarten Minen berechnen und setzen Java Basics - Anfänger-Themen 15
Kirby.exe Anzahl vorkommender Elemente im Array zählen Java Basics - Anfänger-Themen 9
B Nur eine bestimmte Anzahl an Arrays ausgeben Java Basics - Anfänger-Themen 9
hello_autumn Klassen Anzahl sowie die Anzahl der Junit Tests ermitteln? Java Basics - Anfänger-Themen 8
B Von Array nur eine bestimmte Anzahl bekommen Java Basics - Anfänger-Themen 3
L Anzahl der Paare deren Summe = 0 ergibt berechnen Java Basics - Anfänger-Themen 0
L Anzahl der Elemente key in einem Array mit log(N) Laufzeit Java Basics - Anfänger-Themen 4
L Anzahl der Aufrufe von Schleifen bestimmen Java Basics - Anfänger-Themen 1
D Alle Möglichkeiten, n-Anzahl aus Elementen aus einem Array zu wählen, ausgeben? Java Basics - Anfänger-Themen 23
B Frage zu: String... strings -> Ungleiche Anzahl an Parameter? Java Basics - Anfänger-Themen 4
O ObjectOutputStream Anzahl Objekte festhalten Java Basics - Anfänger-Themen 17
B Anzahl von Stunden / Tage von zwei Datumswerten ermitteln Java Basics - Anfänger-Themen 1
L Dynamische Anzahl an Arrays mit verschiedenen Namen erzeugen Java Basics - Anfänger-Themen 6
H Anzahl verschiedener Buchstaben im String Java Basics - Anfänger-Themen 41
sondr Anzahl der gleichen Positionen im Array Java Basics - Anfänger-Themen 3
Y Konkrete Hilfe gesucht - Anzahl der Stellen einer eingegebenen Zahl überprüfen Java Basics - Anfänger-Themen 5
Y Begrenzte Anzahl an Objekten? Java Basics - Anfänger-Themen 12
P Input/Output Bestimmte Anzahl von Werten in einem Array an Methode übergeben Java Basics - Anfänger-Themen 2
L Graphen: Anzahl Knoten // Knoten in Array speichern Java Basics - Anfänger-Themen 4
E Anzahl Datensätze in Textfeld Java Basics - Anfänger-Themen 5
K Anzahl gleicher Elemente in Array Java Basics - Anfänger-Themen 32
T befehle unterschiedlicher anzahl an strings wiedergeben Java Basics - Anfänger-Themen 2
L Feld mit beliebiger Anzahl von Buchstaben füllen... Java Basics - Anfänger-Themen 5
LikeManuel Anzahl der Teiler Java Basics - Anfänger-Themen 6
D Anzahl von Zahlen bei eingabe begrenzen Java Basics - Anfänger-Themen 37
T Erste Schritte Schreiben Sie eine Klasse Zeit, die eine Zeitdauer in Minuten beschreibt. Die Anzahl Minuten verwalt Java Basics - Anfänger-Themen 3
J Max. Anzahl von Knoten im Binärbaum Java Basics - Anfänger-Themen 3
ralli85 Programm nach einer gewissen Anzahl von Eingaben beenden Java Basics - Anfänger-Themen 15
Z Ausgabe: Anzahl Sterne, danach verringern Java Basics - Anfänger-Themen 7
R Anzahl von Zeichen in einem Char Array Java Basics - Anfänger-Themen 4
A Anzahl der Elemente in einem Stack wiedergeben Java Basics - Anfänger-Themen 3
V Anzahl der Möglichkeiten 20 € zu bezahlen Java Basics - Anfänger-Themen 2
A variable Anzahl an Nutzereinagben Java Basics - Anfänger-Themen 4
stylegangsta Anzahl der gefunden array Werte ausgeben Java Basics - Anfänger-Themen 6
D Variable Anzahl an Buttons per Schleife Java Basics - Anfänger-Themen 7
H Liste ausgeben (Spiel Hey Fisch (software-challenge) ändern Anzahl Fische) Java Basics - Anfänger-Themen 1
M Überschneidende Anzahl von Tagen Java Basics - Anfänger-Themen 4
D Suche nach der Anzahl von Zonen zwischen zwei Punkten Java Basics - Anfänger-Themen 2
S Input/Output Alphabet in eine Datei schreiben und Anzahl von Zeichen ausgeben. Java Basics - Anfänger-Themen 4
I Anzahl der Rechenschritte darstellen lassen Java Basics - Anfänger-Themen 11
C Anzahl bestimmter Zeichen in einem String ausgeben Java Basics - Anfänger-Themen 7
T Anzahl bestimmter Werte eines arrays bestimmen Java Basics - Anfänger-Themen 4
A Rekursion, Anzahl von Stellen ausgeben Java Basics - Anfänger-Themen 7
S Anzahl Quersummen bis zur Einstelligkeit Java Basics - Anfänger-Themen 12
S Anzahl unterschiedlicher Elemente zählen Java Basics - Anfänger-Themen 4
G Performance - höhere Anzahl Swing Elemente Java Basics - Anfänger-Themen 5
R Begrenzer Anzahl von paint() ? Java Basics - Anfänger-Themen 3
J Anzahl von for-Schleifen in Abhängigkeit von Zahleneingabe erzeugen Java Basics - Anfänger-Themen 1
C Beliebige Anzahl Arrays zusammenfügen Java Basics - Anfänger-Themen 5
L Best Practice Alle Kombinationen aus Listenelementen, Anzahl Listen unterschiedlich Java Basics - Anfänger-Themen 6
I Methoden ByteBuffer - Anzahl führender Nullen Java Basics - Anfänger-Themen 3
E Array Anzahl verschiedener Werte ausgeben Java Basics - Anfänger-Themen 3
V Anzahl von gleichen Werten in einem Int-Array ermitteln Java Basics - Anfänger-Themen 4
B Anzahl if anweisungen nicht bekannt Java Basics - Anfänger-Themen 3
T Anzahl der Schritte berechnen Java Basics - Anfänger-Themen 6
R Anzahl der ineinander verschachtelten for-Schleifen von Variable abhängig machen Java Basics - Anfänger-Themen 5
P BitSet- Objekt- Anzahl der Elemente bestimmen Java Basics - Anfänger-Themen 2
B Variablen Unbekante anzahl an Strings splitten und vergleichen Java Basics - Anfänger-Themen 31
M Anzahl Zahlen in String Java Basics - Anfänger-Themen 21
A Threads Minimale und maximale Anzahl. Java Basics - Anfänger-Themen 28
J Bestimmte Anzahl Zeichen aneinander fügen Java Basics - Anfänger-Themen 9
H Anzahl Ziffer in Zahl bestimmen Java Basics - Anfänger-Themen 3
A Anzahl nodes in einem Tree Java Basics - Anfänger-Themen 2
G maximale Anzahl der Tage im Monat Java Basics - Anfänger-Themen 18
G Datentypen Double ausgeben mit minimaler Anzahl Nachkommastellen Java Basics - Anfänger-Themen 3
P Anzahl der else if Operatoren begrenzt?? Java Basics - Anfänger-Themen 7
B genaue Anzahl der Operationen in Schleifen Java Basics - Anfänger-Themen 5
Dit_ Anzahl der Bestellungen grafisch abbilden | Statistisk Java Basics - Anfänger-Themen 6
Luk10 Anzahl der Knoten in einem Baum ausgeben! Java Basics - Anfänger-Themen 6
F Methoden Hanoi - Anzahl der Bewegungen Java Basics - Anfänger-Themen 8
A Counter für die anzahl von regulären ausdrücken Java Basics - Anfänger-Themen 4
M float/double Anzahl Nachkommastellen ermitteln Java Basics - Anfänger-Themen 18
B Anzahl der Werte bestimmen Java Basics - Anfänger-Themen 14
K Sortierung von Anzahl der Wörtern in ArrayList Java Basics - Anfänger-Themen 4
X Anzahl Baumknoten bestimmen Java Basics - Anfänger-Themen 5

Ähnliche Java Themen

Neue Themen


Oben