Mittelwert (fast fertig, nur noch 2 fehler ;-) )

Status
Nicht offen für weitere Antworten.

Nooob

Mitglied
Tach Leutz....folgende Aufgabe

Schreiben Sie ein Programm „Mittelwert": Lesen sie solange Zahlen ein bis eine 0 eingegeben wird und berechnen daraus den Mittelwert.



Meine Lösung , die SO nicht stimmt.....



Code:
public class mittelwert
{
public static void main(String[] args)
{
	int i, n;   //integervariablen I und n deklarieren
	double[] x= new double[2.0,1.0,5.0,7.0,6.0,0.0,2.0,5.0,6.0,8.0];//Array deklar. und initial. mit Werten
	n=x.length; //Variable n mit der Länge von X initialisieren
	double w=0.0; //doublevariable w mit 0 Deklarieren und Initialisieren
	mittelwert(); 
	
  static double mittelwert(double[] x)
  //Methode Mittelwert mit double Array X 
{    
     for (i=0;i<n;i++){		//Zählschleife von 0 bis n(=länge von x)
      if (x[i]=0)return w;	//Wert x an stelle i=0 dann w zurückgeben
      w+=x[i];    		//addiert den wert von x an der Position I auf w
     }
     w/=n;        		//Mittelwert von w
     return w;    		//gibt w an das Programm zurück
   }				//Ende mittelwert
  System.out.println("Mittelwert ist :"+w);
}
}

Hoffe auf baldige Antwort, muss das morgen vortragen...
Danke im Voraus...
 

Paule

Aktives Mitglied
Hi,

also erstmal zur for-to-do Schleife in mittelwert(). Müsste das nicht so aussehen

Code:
for (int i=0; i<=n; i++) {
//Berechnung
]

Weiß nicht genau ob's auch ohne das int geht, glaub aber nicht.

Und denn stimmt wohl was in deiner Berechnung nicht. Würde sagen, du müsstest w durch i teilen und nicht durch n.
Du willst doch den Mittelwert der bisher eingegebenen Zahlen haben oder?

Hoffe ich konnte dir helfen.

Tschau Paule!!!
 

Nooob

Mitglied
pile C:\java\mittelwert.java....
C:\java\mittelwert.java:7: ']' expected


double[] x= new double[2.0,1.0,5.0,7.0,6.0,0.0,2.0,5.0,6.0,8.0];//Array deklar. und initial. mit Werten


^




C:\java\mittelwert.java:12: illegal start of expression


static double mittelwert(double[] x)

^


2 errors


Compilierung beendet

== dazu finde gleich Operation und != ist ungleich Operation.
Aber der compiler zeigt ja nicht auf das = ....

== heißt vergleichsausdruck
und = heißt Bedingung ???

sollte man bei Mittelwert nicht noch nen boolean setzen?? So viel kann da doch nicht mehr fehlen jetzt ???

So ich geh jetzt pennen und guck morgen früh nochmal rein. Im Notfall trage ich das mit den Fehlern vor, würde nur gerne mal wissen , was ich wie falsch gemacht habe...danke und n8
 

mic_checker

Top Contributor
= ist ne Zuweisung == ist ein Vergleich

Code:
double[] x = {2.0,1.0,5.0,7.0,6.0,0.0,2.0,5.0,6.0,8.0};

oder

Code:
double[] x = new double[10] ; //10 Elemente oder wie viel du willst

aber nicht so ein zwischending
 

Nooob

Mitglied
Danke! Nur noch EIN FEHLER

C:\java\mittelwert.java:12: illegal start of expression


static double mittelwert(double[] x)


^
 

mic_checker

Top Contributor
C:\java\mittelwert.java:12: illegal start of expression


static double mittelwert(double[] x)

Eine Methode darf nicht innerhalb einer andernn Methode definiert sein.

Außerdem solltest du dich für eins entscheiden:
Code:
mittelwert();

//Aber auch:
static double mittelwert(double[] x)
 

Nooob

Mitglied
Weiser mann spricht schwere Worte...

Habe jetzt das
Code:
 mittelwert()
rausgenommen und bei dem
Code:
 static double mittelwert(double[] x)
ne neue Methode {} gesetzt...

ohne Erfolg .... ich weiß so ca. was du meinst....
aber immerhin haben wir schon einen fehler weniger...
sprecht mit mir wie mit nem NOOB...danke
 

mic_checker

Top Contributor
Weiser mann? Naja, jedem das Seine ;)

Du rufst die Methode ohne Parameter auf, du hast aber nur die eine Methode mittelwert der du ein double Array übergibst, entweder du rufst die Methode entsprechend auf oder du änderst die Signatur (also schreibst:)

Code:
static double mittelwert()

Allerdings sollten dann noch Folgefehler entstehen (also so oder so) , da deine Methode die Variablen aus main nicht kennt, also raus aus main , so in etwa:

Code:
public class Mittelwert
{
	private static double w=0.0; //doublevariable w mit 0 Deklarieren und Initialisieren
	private static int i, n;   //integervariablen I und n deklarieren
	private static double[] x = {2.0,1.0,5.0,7.0,6.0,0.0,2.0,5.0,6.0,8.0};//Array deklar. und initial. mit Werten

	   
	public static void main(String[] args)
	{
....
	   mittelwert();
.....
        }
	static double mittelwert()
  //Methode Mittelwert mit double Array X
	{ 
...
   }            //Ende mittelwert

}
 

Nooob

Mitglied
Hey ich mach das erst seit ner Woche.....

jetzt sieht es so aus...nicht aufregen...ist immernoch falsch...

Code:
public class Mittelwert
{
   private static double w=0.0; //doublevariable w mit 0 Deklarieren und Initialisieren
   private static int i, n;   //integervariablen I und n deklarieren
   private static double[] x = {2.0,1.0,5.0,7.0,6.0,0.0,2.0,5.0,6.0,8.0};//Array deklar. und initial. mit Werten

      
   public static void main(String[] args)
   {
   for (i=0;i<=n;i++){		//Zählschleife von 0 bis n(=länge von x)
      if (x[i]==0)return w;	//Wert x an stelle i=0 dann w zurückgeben
      w+=x[i];    		//addiert den wert von x an der Position I auf w
      mittelwert();
}
   static double mittelwert()
  //Methode Mittelwert mit double Array X
   {
w/=n;        		//Mittelwert von w
     return w;    		//gibt w an das Programm zurück
   }				//Ende mittelwert
  System.out.println("Mittelwert ist :"+w);
   }            //Ende mittelwert

}


Mir sind das noch zu viele Klammern.....Wenn du jetzt noch die Felder wo du -------------- gemacht hast, ausfüllst, dann kann ich den thread abhaken und mir das mal in ruhe angucken und vielleicht auch verstehen...hoffe ich mal.. DANKE...
 

mic_checker

Top Contributor
Mir sind das noch zu viele Klammern.....Wenn du jetzt noch die Felder wo du -------------- gemacht hast, ausfüllst, dann kann ich den thread abhaken und mir das mal in ruhe angucken und vielleicht auch verstehen...hoffe ich mal.. DANKE...
Der weise Mann sagt: Nein ;) Denn programmieren lernt man nur durch programmieren.

Die ganze Mittelwertberechnung kannst du in der Methode mittelwert() erledigen , in main musst du lediglich die Methode aufrufen.

Btw. die Methode wird so wie oben nicht funzen, da du sobald ein Element 0 ist, w zurückgibst und das noch nicht den Mittelwert enthält....du brauchst diese Fallunterscheidung ja auch nicht, addier alles, teile es durch anzahl elemente und gut is.


Noch was: Guck dir mein Skeleton-Code oben mal an und dann deinen Code, du schreibst die Methode immer noch innerhalb von main, wenn ich das recht sehe, überprüf auch deine Klammersetzung (dafür ist es hilfreich wenn man alles richtig einrückt).
 

Nooob

Mitglied
Ist zu viel für mich....
Ich geh pennen.

Trage morgen früh, dann halt das alles mit Fehler vor....so viel ist ja jetzt nicht mehr falsch.

Wollte halt nur mal improvisieren. Danke für alles...
In ein bis 2 wochen kapiere ich , was ich da für nen mist gebaut habe...
 

shogun

Neues Mitglied
Also ich denke mal es is ein bissl zu spät aber egal!
Du brauchst aber keine zwei Wochen warten.

So würde es gehen!

Code:
public class mittelwert{
	
	static double w;
	
	double mittelo(double a[]){
	  	//Methode Mittelwert mit double Array X
		 int n = a.length;
		 w = 0.0;
	     for (int i=0;i<n;i++){      		//Zählschleife von 0 bis n(=länge von x)
	     									//Wert x an stelle i=0 dann w zurückgeben
	     	w+=a[i];       				   //addiert den wert von x an der Position I auf w
	     }
	     w/=n;             					 //Mittelwert von w
	     return w;       					   //gibt w an das Programm zurück
	            						   //Ende mittelwert
// System.out.println("Mittelwert ist :"+w);
	}
	
	public static void main(String[] args){
		
		int i, n;   //integervariablen I und n deklarieren
		double[] x = new double[10];
		x[0]=2.0;
		x[1]=1.0;
		x[2]=5.0;
		x[3]=7.0;
		x[4]=6.0;
		x[5]=0.0;
		x[6]=2.0;
		x[7]=5.0;
		x[8]=6.0;
		x[9]=8.0;
		//Array deklar. und initial. mit Werten
					//Variable n mit der Länge von X initialisieren
						//doublevariable w mit 0 Deklarieren und Initialisieren
		mittelwert a = new mittelwert();
		a.mittelo(x);	
		System.out.println("Mittelwert ist :"+w);
	}
}
[/code]
 

mic_checker

Top Contributor
Es bringt ihm auch sehr viel wenn du ihm den kompletten Code postest, in diesem Fall war die Lösung zwar wirklich sehr leicht, aber er muss es doch irgendwann mal selber lernen.

Davon abgesehen:
- Klassennamen schreibt man groß

Code:
      x[0]=2.0;
      x[1]=1.0;
      x[2]=5.0;
      x[3]=7.0;
      x[4]=6.0;
      x[5]=0.0;
      x[6]=2.0;
      x[7]=5.0;
      x[8]=6.0;
      x[9]=8.0;
Da kannst du genauso seine Schreibweise von oben holen:

Code:
double[] x = {....};

Noob: Hoffentlich verstehst du wenigstens was du gestern falsch gemacht hast...
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Erste Schritte Array Mittelwert Methode Programmieren Java Basics - Anfänger-Themen 5
P Mittelwert Arrayelemente berechnen Fehler Java Basics - Anfänger-Themen 5
J Variablen arithmetischen Mittelwert berechnen Java Basics - Anfänger-Themen 5
M Erste Schritte Mittelwert berechnen -> Methode in der Methode? Java Basics - Anfänger-Themen 14
P Erste Schritte Mittelwert zeitlich abhängiger Werte Java Basics - Anfänger-Themen 1
R Werte aus Array addieren und Mittelwert bilden Java Basics - Anfänger-Themen 2
G Array Mittelwert berechnen, wie? Java Basics - Anfänger-Themen 8
M Methoden Mittelwert rationaler Zahlen mittels Methode Java Basics - Anfänger-Themen 4
V Mittelwert berechnen Java Basics - Anfänger-Themen 31
F Gewichteter Mittelwert über eine Zeitperiode Java Basics - Anfänger-Themen 3
N Erste Schritte Mittelwert in Array Java Basics - Anfänger-Themen 4
P Mittelwert rekursiv Java Basics - Anfänger-Themen 13
C Mittelwert berechnen Java Basics - Anfänger-Themen 5
L Brauch Mittelwert jeweils 3 Zahlen die durch 20 Wiederholungen geteilt werden Java Basics - Anfänger-Themen 17
G Mittelwert Java Basics - Anfänger-Themen 31
K Frage wegen Mittelwert Java Basics - Anfänger-Themen 32
M Maximum, Minimum und Mittelwert berechnen Java Basics - Anfänger-Themen 25
B Notenauswertung: Einlesen der Anzahl, Bildung Mittelwert Java Basics - Anfänger-Themen 8
P Mittelwert, Datei einlesen. ich verzweifle Java Basics - Anfänger-Themen 3
M Programm soll n Zahlen von der Tastatur lesen(Mittelwert) Java Basics - Anfänger-Themen 8
L Best Practice Code Refactoring für Methoden mit fast gleicher Aufbau Java Basics - Anfänger-Themen 6
D Wenn ich repaint(); mache, flackert es so stark, das man fast nichts erkennen kann. Java Basics - Anfänger-Themen 11
J Methoden Zwei Methoden die fast das gleiche tun organisieren Java Basics - Anfänger-Themen 3
F Alle DEMOS fast veraltet...? Java Basics - Anfänger-Themen 13
T Variablen fast identische Setter Java Basics - Anfänger-Themen 14
Z Speichern in eine .txt klappt.. fast Java Basics - Anfänger-Themen 23
E Projekt fast fertig, nur es läuft nicht ;) Java Basics - Anfänger-Themen 7
0x7F800000 fail-fast Iteratoren nerven gewaltig Java Basics - Anfänger-Themen 18
D Kann noch fast nichts, funktioniert auch fast nichts! Java Basics - Anfänger-Themen 8
Gama 2 (fast) gleiche Dateien - nur eine funktioniert Java Basics - Anfänger-Themen 2
P Welches Buch ist für Einsteiger(fast) ohne Vorwissen passend Java Basics - Anfänger-Themen 7
G ActionListener fast fertig Java Basics - Anfänger-Themen 7
S programm speichern und fertig stellen Java Basics - Anfänger-Themen 2
K Input/Output Serialization: "Bin fertig" Methode? Java Basics - Anfänger-Themen 7
M Programm fertig stellen, Jar mit Bildern Java Basics - Anfänger-Themen 14
D jProgressBar soll bei 100% sein wenn sql Abfrage inkl. jTable schreiben fertig ist... Java Basics - Anfänger-Themen 5
E ExecutorService warten bis alles fertig? Java Basics - Anfänger-Themen 5
A Feststellen ob Desktop.print("*.pdf") fertig ist Java Basics - Anfänger-Themen 6
S Warten bis alle Threads fertig sind Java Basics - Anfänger-Themen 12
I Funktion erst starten nachdem eine komplett fertig ist Java Basics - Anfänger-Themen 4
T Bytearray: immer 4 Bytes herrauskopieren, bis fertig ! Java Basics - Anfänger-Themen 9
S Programm fertig, aber wie publizieren? Java Basics - Anfänger-Themen 6
M prüfen, ob Prozess fertig mit Abarbeitung. wie? Java Basics - Anfänger-Themen 11
M Zufallszahlen fertig! aber nice to have noch offen Java Basics - Anfänger-Themen 5
E Magisches Quadrat - wie bring ich des fertig? Java Basics - Anfänger-Themen 2
I Festellen wann Methode in anderer Klasse fertig ist Java Basics - Anfänger-Themen 5
T Datei ist 'fertig'? Java Basics - Anfänger-Themen 3
C Erst weiter machen wenn fertig Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben