Frage wegen Mittelwert

Status
Nicht offen für weitere Antworten.

kannkeinjava

Aktives Mitglied
Was stimmt den an meinem Programm hier den nicht?

Bekomme beim compilieren keine Fehler.

Nur beim ausführen bekomme ich einen Fehler und zwar diesen:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
at Mitte.main(Mitte.java:8)

Hier ist mein Programm

Java:
class Mitte
{
	public static void main(String args[])
	{
		double summe,mittelwert;
		int i,n;
		summe=0;
		n=Integer.parseInt(args[0]);
		for(i=1;i<=n;i++)
		{
			summe=summe+Double.parseDouble(args[i]);			
		}	
		mittelwert=summe/n;
		System.out.println("Mittelwert:"+mittelwert);
	}
}

Danke im voraus
 
Zuletzt bearbeitet von einem Moderator:
S

SlaterB

Gast
in einem Array der Länge 4 gibt es nur die Indexe 0, 1, 2 und 3,
nicht 1, 2, 3 und 4
 
S

SlaterB

Gast
die Stelle an der du auf das Array zugreifst, die hängt ja von dem i ab,
das i ist in der Schleife definiert, wenn du da
for(i=4999;i<=60000;i++)
hättest, dann wäre 4999 ein schlechter Index da zu hoch..

auf dein jetziger Code ist noch falsch aber ich werde dir nun nicht exakt die Lösung sagen,
eine Sekunde alleine denken oder ausprobieren, mein vorheriges Postings sagt es ja im Grunde auch schon..
 
S

SlaterB

Gast
ich sage z.B. dass der erste Index 0 ist,
deine Schleife beginnt aber bei 1:
> for(i=1;

jetzt weißt du wirklich nicht was man da ändern könnte?
 
G

Gast

Gast
indizes fangen in java bei 0 an, nicht bei 1. pascal coder? :D
 
G

Gast

Gast
und wenn ich mir den code angucke fällt mir auf, dass das gar nicht das problem ist.

offensichtlich ist der erste parameter schlicht falsch. prüfe vorher nach, ob der parameter mit der anzahl argumente übereinstimmt. also n == args.length - 1
 
S

SlaterB

Gast
ok, wenn n im ersten Feld steht dann will ich mal nicht so sein mit der 0 vs 1
und verrate auch gleich die zweite Ecke:
am Ende der Schleife muss es wahrscheinlich i<n statt i<=n heißen

oder gast hat recht mit der Anzahl
 

blackMamba

Mitglied
Warum benutzt du die Zeile?
Code:
summe=summe+Double.parseDouble(args[i]);

das args ist ja oben in der
Code:
public static void main(String args[])
definiert. Du versuchst auf eine Stelle im args zuzugreifen, die es nicht gibt. Denn args wird ja nur für die Eingabe benutzt. Und du gibts ja eine Zahl ein, z.B. 100
n wird dann ja gleich die Zahl also 100 gesetzt, die stelle in der die 100 in args steht ist aber 0....weißt du worauf ich hinaus willst? Du kannst kein Array benutzen,was du beriets für die Eingabe benutzt.
 
G

Gast

Gast
das programm wird offensichtlich so aufgerufen:

java Mitte 2 12.3 13.1

und platzt, weil irgendwer es so aufruft

java Mitte 1 12.3 13.1
 
G

Gast

Gast
mit ner 3... meine güte, es ist offensichtlich zu früh am morgen oO
 

ARadauer

Top Contributor
1. Wie rufst du das Programm auf?
2. Welche Fehlermeldung kommt?
3. Warum hab ich meinen Kaffee noch nicht bekommen?

Solange das nicht geklärt ist, schreib ich hier keine sinnfollen Antworten!
 

kannkeinjava

Aktives Mitglied
ARadauer hat gesagt.:
1. Wie rufst du das Programm auf?
2. Welche Fehlermeldung kommt?
3. Warum hab ich meinen Kaffee noch nicht bekommen?

Solange das nicht geklärt ist, schreib ich hier keine sinnfollen Antworten!

DA STEHT DOICH ALLES

UND zu 3 nee bei mir gibt es nu tee sorry
 

kannkeinjava

Aktives Mitglied
Habe es etwas umgeändert trotzdem noch derselbe Fehler

class Mittel
{
public static void main(String args[])
{
int i,n;
double summe,mittelwert;
summe=0;
n=Integer.parseInt(args[1]);
for(i=0;i<=n;i++)
{
summe=summe+Double.parseDouble(args);
}
mittelwert=summe/n;
System.out.println("Mittelwert:"+mittelwert);
}
}
 
S

SlaterB

Gast
for(i=1;i<n;i++)

ansonsten solltest du wirklich mal anfangen zu überprüfen ob du n Paameter oder mehr oder weniger hast,
wie so viele hier vorschlagen
 

kannkeinjava

Aktives Mitglied
hab ees wieder umgeändert aber irgendwo ist da noch was falsch bekomme beim compilieren immer noch fehler

class Mittel
{
public static void main(String args[])
{
int i,n;
double summe=0,mittelwert;

n=Integer.parseInt(args[1]);
n==args.length-1;
for(i=0;i<n;i++)
{

summe=summe+Double.parseDouble(args);
}
mittelwert=summe/n;
System.out.println("Mittelwert:"+mittelwert);
}
}
 

kannkeinjava

Aktives Mitglied
class Mittel
{
public static void main(String args[])
{
int i,n;
double summe=0,mittelwert;

n=Integer.parseInt(args[1]);
n==args.length-1;
for(i=1;i<n;i++)
{

summe=summe+Double.parseDouble(args);
}
mittelwert=summe/n;
System.out.println("Mittelwert:"+mittelwert);
}
}
 

kannkeinjava

Aktives Mitglied
So liegt den genau der Fehler kann mir das mal bitte einer mal genau erklären


class Mittel
{
public static void main(String args[])
{
int i,n;
double summe=0,mittelwert;
n=Integer.parseInt(args[1]);
n==args.length-1;
for(i=1;i<n;i++)
{
aumme=summe+Double.parseDouble(args);
}
mittelwert=summe/n;
System.out.println("Mittelwert:"+mittelwert);
}
}
 
S

SlaterB

Gast
> So liegt den genau der Fehler kann mir das mal bitte einer mal genau erklären

erkläre vorher 'So liegt den genau der Fehler',
worum gehts?
 

kannkeinjava

Aktives Mitglied
na gu tder mach tbeim compilieren keinen fehler mehr, aber das für beim ausführen

hier nochmal das Programm und der fEwhler

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
at Mitte.main(Mitte.java:8)

class Mittel
{
public static void main(String args[])
{
int i,n;
double summe=0,mittelwert;
n=Integer.parseInt(args[1]);
n=args.length-1;
for(i=1;i<n;i++)
{
summe=summe+Double.parseDouble(args);
}
mittelwert=summe/n;
System.out.println("Mittelwert:"+mittelwert);
}
}
 
S

SlaterB

Gast
jetzt müsste man wissen, was Zeile 8 ist ;)
wahrscheinlich ist args[1] schon zu viel beim Integer-Parsen

und poste doch mal dein Startkommando
 

kannkeinjava

Aktives Mitglied
Achso

habe das umgeändert, aber bekomme immer noch den selben Fehler beim ausführen


n=Integer.parseInt(args[0])
das ist Zeile 8
 
G

Gast

Gast
vielleicht liegt hier auch ein misverständnis vor: args[0] ist NICHT die anzahl der parameter (wie in einigen anderen sprachen üblich). die anzahl der parameter ergibt sich aus args.length
 

kannkeinjava

Aktives Mitglied
Habe das Programm umgeschrieben das lautet jetzt so

aber irgendwie klappt das auch nciht so ganz

class Su
{
public static void main(String args[])
{
double sum=0,Mittelwert;
int i;
Mittelwert=new double[33];
for(i=0;i<=33;i=i++)
{
sum=sum+i;
Mittelwert=Mittelwert/i;
System.out.println("Für ein i lautet ihr Ergebniss:"+i);
System.out.println("Ihre Summe lautet:"+sum);
System.out.println("Ihr Mittelwert lautet:"+Mittelwert);
}
}
}
 

Antoras

Top Contributor
So müsste es stimmen:

Code:
class Su{
	public static void main(String args[]){
		double mittelwert, sum = 0;
		int i;
		for(i=0; i<=33; i++){			
			sum = sum+i;
			mittelwert = sum/i;
			System.out.println("Für ein i lautet ihr Ergebniss:"+i);
			System.out.println("Ihre Summe lautet:"+sum);
			System.out.println("Ihr Mittelwert lautet:"+mittelwert);
		}
	}
}

Das Array brauchst du gar nicht, da die Schleife ja schon 33 Zahlen erstellt.
 
G

Guest

Gast
Antoras hat gesagt.:
So müsste es stimmen:

Code:
class Su{
	public static void main(String args[]){
		double mittelwert, sum = 0;
		int i;
		for(i=0; i<=33; i++){			
			sum = sum+i;
			mittelwert = sum/i;
			System.out.println("Für ein i lautet ihr Ergebniss:"+i);
			System.out.println("Ihre Summe lautet:"+sum);
			System.out.println("Ihr Mittelwert lautet:"+mittelwert);
		}
	}
}

Das Array brauchst du gar nicht, da die Schleife ja schon 33 Zahlen erstellt.
Danke

nur ich möchte das i von der Tastatur eingelesen wird wie müsst eich das den genau programmieren?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
pkm Frage wegen möglichem grouping-hack Java Basics - Anfänger-Themen 22
I Verständnis Frage wegen einer Aufgabe Java Basics - Anfänger-Themen 10
A Frage wegen Chatbefehlen... Java Basics - Anfänger-Themen 13
I Frage wegen Wörterbuch Programmierung Java Basics - Anfänger-Themen 13
G Frage wegen Applet( Linie) Java Basics - Anfänger-Themen 2
K Frage Wegen Binomialkoeffizienten Java Basics - Anfänger-Themen 28
G Frage wegen Quadratische Gleichung Java Basics - Anfänger-Themen 9
R eine frage wegen methoden und if statments Java Basics - Anfänger-Themen 6
T Frage wegen UNI Aufgabe Java Basics - Anfänger-Themen 4
R Frage wegen Vererbung Java Basics - Anfänger-Themen 5
Zrebna Frage zu Test-Driven Development (TDD) Java Basics - Anfänger-Themen 3
I Frage Thymeleaf -> Fehler ignorieren und mit "" ersetzen? Java Basics - Anfänger-Themen 15
I Frage Thymeleaf -> Prefix / Suffix ändern? Java Basics - Anfänger-Themen 11
D Rekursions Probleme / frage Java Basics - Anfänger-Themen 4
T Frage zu Parse Java Basics - Anfänger-Themen 2
H Frage an die Profis Java Basics - Anfänger-Themen 4
J Eine konzeptionelle Frage zu OOP Java Basics - Anfänger-Themen 3
P Frage zu Rekursion und Backtracking Java Basics - Anfänger-Themen 2
H Frage zur Ausgabe Java Basics - Anfänger-Themen 4
H Frage zu arithmetischen Operationen Java Basics - Anfänger-Themen 20
F Kurze Frage zu replace() Java Basics - Anfänger-Themen 19
JavaSchmecktLecker Polymorphie Frage zur Methodenüberschreibung Java Basics - Anfänger-Themen 21
J Frage zu einem "Taschenrechner" code Java Basics - Anfänger-Themen 9
B Erste Schritte Frage zu Instanzierung und Referenzen Java Basics - Anfänger-Themen 8
DoubleM Runtime.getRuntime().exec Frage Java Basics - Anfänger-Themen 2
J Eine theoretische Frage zur Praxis - JPanel oder Canvas Java Basics - Anfänger-Themen 5
O Frage: Formaler Typbezeichner? Java Basics - Anfänger-Themen 3
I BlueJ Queue Frage für Klausur Java Basics - Anfänger-Themen 2
N Verständnis Frage zu Variablen Java Basics - Anfänger-Themen 3
N Spezielle frage zum Comparator Java Basics - Anfänger-Themen 6
L Frage zum Array Java Basics - Anfänger-Themen 1
A Frage zum UML Design Java Basics - Anfänger-Themen 1
I Hilfe bei Klausur Frage Java Basics - Anfänger-Themen 8
izoards Drucken Frage zu FAQ Beitrag Java Basics - Anfänger-Themen 2
J Frage zu meinem Code (OOP) Java Basics - Anfänger-Themen 4
sserio Split() -> Regex Frage. Java Basics - Anfänger-Themen 7
A OCA Study Guide: 2. Frage aus Kapitel 3 Java Basics - Anfänger-Themen 9
sserio Date Library Frage Java Basics - Anfänger-Themen 9
Max246Sch Frage zu Währungsrechner Code Java Basics - Anfänger-Themen 2
sserio Frage zu HashMaps Java Basics - Anfänger-Themen 20
sserio Frage zu Threading - Multithreading Java Basics - Anfänger-Themen 2
sserio Frage zu Lambda Ausdrücken Java Basics - Anfänger-Themen 7
sserio Frage zu BigInteger Java Basics - Anfänger-Themen 1
D Frage bzgl. Enum-Handhabung Java Basics - Anfänger-Themen 16
xxx12 Frage Java Basics - Anfänger-Themen 2
I Generelle Frage zu Mikroservices (Spring Boot?), Docker... Java Basics - Anfänger-Themen 7
R Frage zu Methoden (Rückgabewert u. ohne.) Java Basics - Anfänger-Themen 2
A Frage zur programmierung Java Basics - Anfänger-Themen 12
M Frage zur Methode split der Klasse String Java Basics - Anfänger-Themen 32
R Input/Output Frage zu Java IO Java Basics - Anfänger-Themen 6
M Frage zu printWriter Java Basics - Anfänger-Themen 5
C Frage zu OLSMultipleLinearRegression Java Basics - Anfänger-Themen 31
KogoroMori21 Frage zum Euklidischen Algorithmus Java Basics - Anfänger-Themen 11
S Verständnis-Frage zu einer HÜ? Java Basics - Anfänger-Themen 1
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
L Frage zur Ticket Maschine Java Basics - Anfänger-Themen 1
J Frage zu OOP-Klassendiagramm Java Basics - Anfänger-Themen 8
OSchriever Frage zu Compiler Java Basics - Anfänger-Themen 8
H Frage zu Throw Exception Java Basics - Anfänger-Themen 2
TimoN11 Frage zu Java-Vererbung (Cast) Java Basics - Anfänger-Themen 5
Bademeister007 Hallo Leute ich hab eine Frage zur ArrayList Java Basics - Anfänger-Themen 8
F Frage betreff Programmierbücher zu Lagerverwaltung als Konsolenprogramm Java Basics - Anfänger-Themen 3
dieter000 Kurze Frage kann mir ejmand kurz diesen Code erklären, bzw wie man die zeilen erklärt und so Java Basics - Anfänger-Themen 1
I String.split regex Frage Java Basics - Anfänger-Themen 2
N Best Practice Frage zum MVC-Pattern Java Basics - Anfänger-Themen 2
dieter000 Frage zu einem Beispiel... Java Basics - Anfänger-Themen 5
J Frage zum Loggen Java Basics - Anfänger-Themen 18
J Methoden Frage: Array-Werte in anderer Methode ändern Java Basics - Anfänger-Themen 4
Zrebna Frage zum "Referenzen-konzept" in Java Java Basics - Anfänger-Themen 8
JD_1998 Array-Position aus einer Methode in einer anderen ausgeben (Kurze Frage) Java Basics - Anfänger-Themen 2
marcooooo Frage zu bestimmten Beispiel Java Basics - Anfänger-Themen 31
NeoLexx equals()-Methode Verständnis Frage anhand Code Beispiel Java Basics - Anfänger-Themen 22
N Input/Output Eine Frage über system.out.println. Java Basics - Anfänger-Themen 10
B Erste Schritte Learning Coding (!) Frage an erfahrene Programmierer. Java Basics - Anfänger-Themen 23
M konzeptuelle Frage: In welcher Klasse definiert man am Besten Methoden, die die Kommunikation mit dem User regeln? Java Basics - Anfänger-Themen 8
B Frage zum Code verständnis im Resultat Java Basics - Anfänger-Themen 10
C Exception-Frage Java Basics - Anfänger-Themen 3
J Eine Frage zur Schreibweise == ? : Java Basics - Anfänger-Themen 3
S Frage des Designs Java Basics - Anfänger-Themen 1
JavaTalksToMe Extends/Implements Frage Java Basics - Anfänger-Themen 3
pkm Frage zu Servletfunktion Java Basics - Anfänger-Themen 0
B Frage zur Währungsumrechnung Java Basics - Anfänger-Themen 3
S Allgemeine Frage über Generics und Vererbungen Java Basics - Anfänger-Themen 5
Kirby.exe Frage zur Verwendung von Interfaces Java Basics - Anfänger-Themen 6
D Frage zu Strings einer Exception Java Basics - Anfänger-Themen 4
L Wie frage ich ab, ob in einem Array, Werte doppelt vorkommen? Java Basics - Anfänger-Themen 4
D Frage zur IDE IntelliJ IDEA Java Basics - Anfänger-Themen 6
H Frage zum 2d Array Java Basics - Anfänger-Themen 1
N Frage zum Newton-Fraktal Java Basics - Anfänger-Themen 1
H Frage zu interfaces Java Basics - Anfänger-Themen 1
J Frage dazu Variablen klassenübergreifend zu verändern Java Basics - Anfänger-Themen 22
I Frage zu SkipList Java Basics - Anfänger-Themen 4
G Frage zu JScrollPane Java Basics - Anfänger-Themen 12
Kirby.exe Allgemeine Frage Java Basics - Anfänger-Themen 3
W Frage zu anonymen Klassen Java Basics - Anfänger-Themen 4
J Kleine Frage zu OOP Java Basics - Anfänger-Themen 371
S Frage Klasse und Objekte Java Basics - Anfänger-Themen 2
F Frage zu Iteratoren Java Basics - Anfänger-Themen 2
C Erste Schritte Frage zur ArrayList Java Basics - Anfänger-Themen 15
J Frage zur Vererbung Java Basics - Anfänger-Themen 1

Ähnliche Java Themen

Neue Themen


Oben