-
09. 10. 2011, 17:31 #1Mitglied
- Registriert seit
- Oct 2010
- Beiträge
- 150
zahlen einlesen und durchschnitt ausgeben
package guthix;
import java.io.*;
public class Hund {
static int summe;
public static void main(String[] args) throws IOException
{
int zahlen[] = new int[5];
InputStreamReader ff = new InputStreamReader(System.in);
BufferedReader f = new BufferedReader(ff);
for (int q=0;q<5; q++){
System.out.print("Gib eine Zahl ein: ");
String eingabe = f.readLine();
int zahl = Integer.parseInt(eingabe);
zahlen[q]= zahl;
summe =zahlen[q]+summe;
static double durchschnitt(){
int durchschnitt=summe/zahlen.length;
return durchschnitt;
}
}
System.out.println(durchschnitt);
}
}
ehm, könnte jemand mir verraten was ich bei der methode durchschnitt falsch gemacht hab?
es gibt nen fehler nämlich =(
-
09. 10. 2011, 17:51 #2Mitglied
- Registriert seit
- May 2009
- Beiträge
- 1.888
Re: zahlen einlesen und durchschnitt ausgeben
Ich sehe keine Fehlermeldung.
Könnte daran liegen das du keine gepostet hast.
Das gibt bestimmt einen Fehler weil du keine Variable "durchschnitt" definiert hast.
Ist der Fehler der mir beim schnellen durchsehen auffällt.
Ob das deiner ist kann ich wegen fehlender Fehlermeldung nicht sagen.
Übrigens saugt die Formatierung deines Source massiv und erschwert das Lesen.
-
09. 10. 2011, 18:14 #3
Re: zahlen einlesen und durchschnitt ausgeben
Ich habe jetzt gerade keinen kompiler zur hand, aber so sollte es eher gehen:PHP-Code:package guthix;
import java.io.*;
public class Hund {
static int summe;
public static void main(String[] args) throws IOException
{
int zahlen[] = new int[5];
InputStreamReader ff = new InputStreamReader(System.in);
BufferedReader f = new BufferedReader(ff);
for (int q=0;q<5; q++){
System.out.print("Gib eine Zahl ein: ");
String eingabe = f.readLine();
int zahl = Integer.parseInt(eingabe);
zahlen[q]= zahl;
summe =zahlen[q]+summe;
}
int durchschnitt=summe/zahlen.length;
System.out.println(durchschnitt);
}
}
Fehler:
dadurch wird normalerweise eine Funktion definiert, die keine Parameter annimmt und einen double-Wert zurückgibt. Diese würde aber nicht funktionieren, da der Funktion dein Array "Zahlen" nicht bekannt ist. (Darf man in Java Funktionen einfach in anderen Funktionen definieren?)PHP-Code:static double durchschnitt(){
int durchschnitt=summe/zahlen.length;
return durchschnitt;
}
Anstatt einer Funktion dafür zu nutzen kannst du das "int durchschnitt=summe/zahlen.length;" einfach hinter die For-schleife hängen(siehe oben).
PS: habe schon länger kein Java mehr benutzt, aber sollte so eigentlich stimmen.Geändert von MadDog123456 (09. 10. 2011 um 18:21 Uhr)
-
09. 10. 2011, 19:13 #4Mitglied
(Threadstarter)
- Registriert seit
- Oct 2010
- Beiträge
- 150
Re: zahlen einlesen und durchschnitt ausgeben
erledigt =)
Geändert von saradruid (09. 10. 2011 um 19:52 Uhr)
-
09. 10. 2011, 19:17 #5Mitglied
- Registriert seit
- May 2009
- Beiträge
- 1.888
Re: zahlen einlesen und durchschnitt ausgeben
Noch besser übergibt man der Funktion die Parameter mit denen sie rechnet anstatt die Variablen direkt "aus der" Klasse zu nehmen.PHP-Code:System.out.println(durchschnitt());
Solange die Methode immer "nur" mit den Feldern aus der Klasse operieren soll ist das OK, bei "allgemein zu nutzenden" Funktionen würde man alle Parameter übergeben und die Methode statisch machen.
-
09. 10. 2011, 19:29 #6Mitglied
(Threadstarter)
- Registriert seit
- Oct 2010
- Beiträge
- 150
Re: zahlen einlesen und durchschnitt ausgeben
und noch ne frage, was muss ich ändern, damit man auch komma zahlen eingeben kann und ergebnis auch komma zahl ausgibt?
alles zu double ändern geht irgendwie auch net.
mfgGeändert von saradruid (09. 10. 2011 um 19:47 Uhr)
-
09. 10. 2011, 19:50 #7Mitglied
- Registriert seit
- May 2009
- Beiträge
- 1.888
Re: zahlen einlesen und durchschnitt ausgeben
Ach, und wieso nicht?
Soll ich solange deinen Code lesen bis ich die mögliche Fehlermeldung finde die du immer noch nicht gepostet hast?
Du willst Hilfe von uns also hilf uns dir zu helfen indem du die Fehlermeldung(en) endlich mal postest!
Eingelesenen Text nicht von Integer sondern von Double parsen lassen.
Doch natürlich geht das, wenn es bei dir nicht geht poste (noch besser LIES und versuche zu VERSTEHEN) die Fehlermeldung(en).
-
09. 10. 2011, 19:57 #8Mitglied
(Threadstarter)
- Registriert seit
- Oct 2010
- Beiträge
- 150
Re: zahlen einlesen und durchschnitt ausgeben
ok, ich habs geschafft =) vielen dank alle
-
09. 10. 2011, 23:05 #9
Re: zahlen einlesen und durchschnitt ausgeben
Sodala...
1) Das Editieren bzw. Löschen von Posts ist nicht gerne gesehen. Es stört einfach wenn man einen Thread liest und dann steht einfach "ok gelöst" da statt dem Fehler, der eigentlich dar war. Vor allem antworten die anderen Mitglieder auf deinen Postings - habe wenigstens soviel Höflichkeit dass du deine Postings dastehen lässt, so dass es vl. andere Forenmitglieder auch lesen können.
2) Das Posten von einem Code ohne eine Fehlermeldung (und nein, "Geht nicht" ist keine Fehlermeldung!) ist einfach nur unhöflich. DU willst was von der Community - also poste DU auch deine Fehlermeldungen.
Das nächste Mal wenn ich dich erwische, wo du einfach deinen Code hinrotzt bzw. Postings einfach abänderst bzw. löscht lösch ich deinen ganzen Thread.
-
10. 10. 2011, 19:40 #10
Re: zahlen einlesen und durchschnitt ausgeben
Weil sie erstens in der main definiert wurde, und 2tens, weil sie nicht auf die länge(Zahlen) zugreifen konnte.gut, aber die methode durchschnitt() von meinem ursprünglichen code funktioniert ja gar nicht^^
-


Zitieren

mehr lesen...







Microsoft: Windows 8 OEM...
Heute, 14:12 in gulli:news