# ich hab keine nerven mehr!!!



## bigjay87 (11. Mai 2009)

arbeite mit dem eclipse!!

a) Schreiben Sie ein Programm, das zunächst die Anzahl n der Kurswerte und
danach die n Kurswerte selbst einliest. Dann werden folgende Daten berechnet
und ausgegeben:
• Höchststand der Aktie in diesem Zeitraum
• Tiefststand der Aktie in diesem Zeitraum
• Mittlerer Kurs in diesem Zeitraum (d.h. arithmetisches Mittel der n Einträge)
Für die Berechnung von Höchststand, Tiefststand und Mittelwert soll dazu jeweils
eine Methode implementiert werden.
b) (etwas schwieriger!) Conny Cash überlegt sich, wie viel Geld sie durch Kauf und
Verkauf einer Aktie der Insolvo.com AG in diesem Zeitraum hätte verdienen
können. D.h. an welchem Tag hätte sie die Aktie kaufen und wann hätte sie sie
wieder verkaufen müssen, um einen maximalen Kursgewinn (= Differenz
zwischen Verkaufs- und Kaufkurs) zu erreichen? Erweitern Sie das Programm von
oben so, dass es den Kauftag, den Verkaufstag und den maximalen Kursgewinn



das was ich probiert habe ist das da!!!


```
import javax.swing.JOptionPane;


public class Aufgabe40 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		
		String anzahl_n_eingeben= OptionPane.showInputDialog(null, "Anzahl Kurswert:");
		float anzahl_n = Integer.parseInt(anzahl_n_eingeben);
		String wert_n_eingeben=OptionPane.showInputDialog (null, "Kurswert eingeben:");
		float wert_n =Integer.parseInt(wert_n_eingeben);
		
		public static int max (float anzahl_n, float wert_n){
			
			
				int max =0;
				max = Math.max (float  anzahl_n, float wert_n);
				System.out.println("Maximum wert ist:"+ max);
				
			
			
		}
		public static int min (float anzahl_n, float wert_n){
			
				int min =0;
				min=Math.min(float anzahl_n, float wert_n);
				System.out.println("Minimum Wert ist:" + min);
			
			
			
		}
		public static  int mittelwert (float anzahl_n, float wert_n){
				
				int mittel=0;
				mittel=max-min;
				System.out.println("Mittelwert ist: "+mittel); 
			
			
		}
	}

}
```


----------



## SvenK (11. Mai 2009)

Hast du das jetzt per Hand eingetippt oder aus Eclipse kopiert? Weil das wird nie und nimmer copiliert...

1. Du versuchst innerhalb einer Methode (main) weitere Methoden zu definieren. Das kann natürlich nicht gehen. Jede Methode steht unterhalb der Klasse, der Methodenkörper durch { } abgegrenzt.

2. Wenn deine Methoden einen Rückgabewert deklariert bekommen, muss auch einer mit return zurückgegeben werden.

```
// mit Rückgabewert
public static float max1(float anzahl_n, float wert_n) {
	float max = Math.max(anzahl_n, wert_n);
	return max;
}

// ohne Rückgabewert
public static void max2(float anzahl_n, float wert_n) {
	float max = Math.max(anzahl_n, wert_n);
	System.out.println("Maximum wert ist:" + max);
}
```


3. Rufst du eine Methode auf, übergibst du ihr die gewünschten Parameter OHNE Angabe des Datentyps. Datentypen gibt man nur an, wenn man eine Variable bzw. eine Methode deklariert

```
// FALSCH
float max = Math.max(float anzahl_n, float wert_n);

//richtig
float max = Math.max(anzahl_n, wert_n);
```

Erstmal die gröbsten Schnitzer. Was ist dann jetzt eigentlich dein Problem, wo du nicht weiterkommst?


*EDIT*
Deiner jetzige Klasse mal in compilierbarer Form

```
import javax.swing.JOptionPane;

public class Aufgabe40 {

	public static void main(String[] args) {

		String anzahl_n_eingeben = JOptionPane.showInputDialog(null,
				"Anzahl Kurswert:");
		float anzahl_n = Integer.parseInt(anzahl_n_eingeben);
		String wert_n_eingeben = JOptionPane.showInputDialog(null,
				"Kurswert eingeben:");
		float wert_n = Integer.parseInt(wert_n_eingeben);

	}

	public static float max(float anzahl_n, float wert_n) {
		float max = Math.max(anzahl_n, wert_n);
		return max;
	}

	public static float min(float anzahl_n, float wert_n) {
		float min = Math.min(anzahl_n, wert_n);
		return min;
	}

        // irgendwie stimmt die Berechnung hier noch nich wirklich, oder?
	public static float mittelwert(float anzahl_n, float wert_n) {
		float mittel = max(anzahl_n, wert_n) - min(anzahl_n, wert_n);
		return mittel;
	}

}
```


----------



## bigjay87 (11. Mai 2009)

ookeeey danke das war das mit der main methode usw.. habs jetzt danke nochmal


----------



## SvenK (11. Mai 2009)

Am besten immer sobald man eine geschweifte Klammer aufmacht, diese sofort wieder schliesen und dann erst den code dazwischen schreiben. Ansonsten gibt es schnell Klammersalat

Wobei Eclipse dich dabei unterstützt: { schreiben, Enter drücken, voilá


----------



## Evolver (12. Mai 2009)

Du hast aber noch einige Fehler im Programm:

1. Es wird nur ein Kurswert eingelesen, und nicht n.
2. Die Anzahl sollte ganzzahlig sein ... man kann ja nicht 2.5 Werte eingeben. 
3. So wie du den Kurswert jetzt einliest, kann er nur ganzzahlig abgebildet werden ( Integer.parseInt( wert ) ). So als Tipp: Es gibt nicht nur die Klasse Integer.


----------



## bigjay87 (12. Mai 2009)

also ich hab einem freund aus der klasse was gemacht nur ich will mehrer werte aufeinmal eingeben und dann min max mittelwert ausgeben lassen nur bei mir ist das ich nach jeder werteingabe wieder der text bitt wert eingeben kommT!!!hier der code

import java.util.Scanner;

public class Aufgabe40 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner s = new Scanner(System.in);

		int max = 0;
		int min = 0;
		double mittelwert = 0;
		double summe = 0;

		int i = 0;

		int nächste = 0;

		boolean erste = true;
		do {
			System.out.println("Geben Sie Kurswert und Anzahl an");

			nächste = s.nextInt();


			if (nächste != 0) {				
				summe = summe + nächste;

				if (nächste > max)
					max = nächste;
				if (erste) {
					min = nächste;
					erste = false;
				} else {
					if (nächste < min)
						min = nächste;
				}				
				i++;
			}

		} while (nächste != 0);

		mittelwert = summe / i;

		System.out.println("Maximum: " + max + ", Minimum: " + min
				+ ", Mittelwert: " + mittelwert);

	}
}

also die aufgabe soll einen kurswert einer aktie sein bei b) muss ich min max mittelwert für mehrere tage eingeben wie geht das?! bin total neuling 

b) (etwas schwieriger!) Conny Cash überlegt sich, wie viel Geld sie durch Kauf und
Verkauf einer Aktie der Insolvo.com AG in diesem Zeitraum hätte verdienen
können. D.h. an welchem Tag hätte sie die Aktie kaufen und wann hätte sie sie
wieder verkaufen müssen, um einen maximalen Kursgewinn (= Differenz
zwischen Verkaufs- und Kaufkurs) zu erreichen? Erweitern Sie das Programm von
oben so, dass es den Kauftag, den Verkaufstag und den maximalen Kursgewinn


----------



## bigjay87 (12. Mai 2009)

hey mein erstes problem hab ich gelöst dummheit  aber die b) kein plan kann irgendwie jemand miir weiter helfennn


----------



## bigjay87 (12. Mai 2009)

> import javax.swing.JOptionPane;
> 
> public class Aufgabe40 {
> 
> ...


_

was fehlt daa noch maannn_


----------



## bigjay87 (12. Mai 2009)

verdammt man da sind 3 fehler eins bei 
double[] durchschnitt = mittel(kurswerte);
public static double[] diff(double kurswert[]){
und 
differenz[0],"Ausgabe",1); 

kein plan mann


----------



## HLX (14. Mai 2009)

1. Die Variable 'durchschnitt' ist als Array von double-Werten deklariert. Die Methode 'mittel' liefert jedoch lediglich einen einzelnen double-Wert. Diese Zuweisung funktioniert nicht.

2. Die Methode 'diff' ist mit einem Rückgabetyp 'Array von double-Werten' deklariert. Du hast allerdings keine Rückgabe (return) von Werten vorgesehen.


----------

