# Ist der Quellcode so richtig?



## Lara92 (4. Mai 2011)

Ist der Quellcode so richtig? Bin nicht wirklich gut in Java, bitte verurteilt mich nicht :toll:
Mag auch sein das alles falsch ist. Hoffe aber mal nicht.
Könnt ihr mir helfen :bahnhof:


```
class Notendurchschnitt {
  public static void main (String[] args) {
  double Note1;
  double Note2;
  double Note3;
  double Note4;
  double Note5;
  durchschnitt = Note1 + Note2 + Note3 + Note4 + Note5 /5; 
  
  Note1 = Double.parseDouble(args[0]);
  Note2 = Double.parseDouble(args[1]);
  Note3 = Double.parseDouble(args[2]);
  Note4 = Double.parseDouble(args[3]);
  Note5 = Double.parseDouble(args[4]);

  System.out.println("Der Durchschnitt deiner Noten beträgt" + durchschnitt +);
 }
}
```


----------



## Lara92 (4. Mai 2011)

ups mir ist aufgefallen das ich nicht hätte double verwenden müssen. 
Werde es in int ändern.


----------



## XHelp (4. Mai 2011)

Nein, der ist falsch.

```
durchschnitt
```
 ist nicht deklariert.
Wie kannst du den Durchschnitt berechnen bevor du die Noten einließt?
Die Rechnung ist auch falsch (Punkt vor Strich)
In Zeile 16 ist ein 
	
	
	
	





```
+
```
 zu viel.

Warum probierst du denn das nicht selber aus? Der Compiler würde dir fast alles auch sagen.


----------



## Lara92 (4. Mai 2011)

Wenn ich oben double zu int ändere was kommt dann unten hin? 
also statt double.parse... ;? 
Ich möchte es nämlich so haben das man dort eine eigene Zahl eingeben kann..


----------



## XHelp (4. Mai 2011)

Javadocs

Was hat es mit der Eingabe zu tun?


----------



## Lara92 (4. Mai 2011)

Oh man ich hab nen totalen falschen Quellcode ;(
Ich kann sowas garnicht. 
Der Befehl javac geht irgendwie nicht. Da steht der existiere nicht.. 
Muss den Quellcode für morgen fertig haben...


----------



## Lara92 (4. Mai 2011)

Ich hätte in der Schule wirklich besser aufpassen sollen.. ich weiß. 
Nun bin ich total durcheinander gekommen. 
???:L


----------



## XHelp (4. Mai 2011)

http://www.java-forum.org/einfuehrungen-erste-schritte/16581-jdk-sdk-installieren-einrichten.html
http://www.java-forum.org/einfuehrungen-erste-schritte/5853-einstieg-java.html


----------



## rogue (4. Mai 2011)

XHelp hat gesagt.:


> http://www.java-forum.org/einfuehrungen-erste-schritte/16581-jdk-sdk-installieren-einrichten.html
> http://www.java-forum.org/einfuehrungen-erste-schritte/5853-einstieg-java.html



Im ersten Link von XHelp steht genau was du machen musst um Java zum laufen zu bringen. Wenn du die Umgebungsvariable wie in der Anleitung setzt sollte javac funktionieren. 

Überprüfe vorsichtshalber den Pfad("C:\Programme\Java\jdk1.6.0_20\bin") der dort angegeben ist. Falls es eine neuere Javaversion ist, können sich die Ordnernamen von diesem unterscheiden.


----------



## Andi_CH (5. Mai 2011)

Ist zwar eh zu spät, aber es ist extrem sinnbefreit den Durchschnitt zu berechnen bevor man die Noten einliest ....


----------



## BoreX (6. Mai 2011)

so ich geb jetzt auch mal ne hilfestellung da ich weiß wie die lehrer an den schulen java unterrichten. Wenn man da nicht richtig aufpasst und ohne selbstständiges lernen lernt man gegen 0 weil sie java so erklären dass man eher c++ 3D modelierung früher lernen würde. 


```
import javax.swing.*;
class Notendurchschnitt {
  public static void main (String[] args) {
  int Note1=Integer.parseInt(JOptionPane.showInputDialog(null, "Bitte geben Sie Ihre erste Note ein"));
  int Note2=Integer.parseInt(JOptionPane.showInputDialog(null, "Bitte geben Sie Ihre zweite Note ein"));
  int Note3=Integer.parseInt(JOptionPane.showInputDialog(null, "Bitte geben Sie Ihre dritte Note ein"));
  int Note4=integer.parseInt(JOptionPane.showInputDialog(null, "Bitte geben Sie Ihre vierte Note ein"));
  int Note5=Integer.parseInt(JOptionPane.showInputDialog(null, "Bitte geben Sie Ihre fünfte Note ein"));
  int durchschnitt = (Note1 + Note2 + Note3 + Note4 + Note5) /5; 
  
 /* Note1 = Double.parseDouble(args[0]);
  Note2 = Double.parseDouble(args[1]);
  Note3 = Double.parseDouble(args[2]);
  Note4 = Double.parseDouble(args[3]);
  Note5 = Double.parseDouble(args[4]); */ // brauchst du nicht
 
  System.out.println("Der Durchschnitt deiner Noten beträgt" + durchschnitt );
 }
}
```

so würde ich den durchschnitt berechnen. Ist ziemlich einfach. Wenn du weitere Hilfe brauchen solltest sag mir per PM bescheid dann kannst du mich jederzeit kontaktieren


----------



## sausau (10. Mai 2011)

fängt ja schon damit an dass man laut konvention variablen immer klein schreibt...


----------



## BoreX (10. Mai 2011)

ach komm schon :> sieh das ma nich so eng ^^ das is in dem stadium echt absolut irrelevant und ich hab nur mit copy-paste gearbeitet XD


----------



## Tomate_Salat (10. Mai 2011)

BoreX hat gesagt.:


> ach komm schon :> sieh das ma nich so eng ^^ das is in dem stadium echt absolut irrelevant und ich hab nur mit copy-paste gearbeitet XD



sausau hat recht. (Schlechten) Codestil gewöhnt man sich schnell an und die umlernphase ist zum :wuerg:. Lieber gleich richtig machen. In meiner Signatur ist ein Link zu den Konventionen.


----------



## Andi_CH (11. Mai 2011)

BoreX hat gesagt.:


> ach komm schon :> sieh das ma nich so eng ^^ das is in dem stadium echt absolut irrelevant und ich hab nur mit copy-paste gearbeitet XD



Auf zeile 7 auch? 

Wenn überhaupt speichern, dann bitte in einem int[]

```
import javax.swing.*;
class Notendurchschnitt {
	public static void main (String[] args) {
		final int anzahlNoten = 5;
		int durchschnitt = 0;
		int[] noten = new int[anzahlNoten];
		for (int i=0; i<anzahlNoten; i++) {
			noten[i] = Integer.parseInt(JOptionPane.showInputDialog(null, "Bitte geben Sie Ihre " + i + ". Note ein"));
		}
		for (int i=0; i<anzahlNoten; i++) {
			durchschnitt += noten[i];
		}
		durchschnitt /= anzahlNoten;
		System.out.println("Der Durchschnitt deiner Noten beträgt " + durchschnitt );
	}
}
```

Aber es ist gar nicht nötig. Das ist die Kurzvariante:

```
import javax.swing.*;
class Notendurchschnitt {
	public static void main (String[] args) {
		final int anzahlNoten = 5;
		int durchschnitt = 0;
		for (int i=0; i<anzahlNoten; i++) {
			durchschnitt += Integer.parseInt(JOptionPane.showInputDialog(null, "Bitte geben Sie Ihre " + i + ". Note ein"));
		}
		durchschnitt /= anzahlNoten;
		System.out.println("Der Durchschnitt deiner Noten beträgt " + durchschnitt );
	}
}
```


----------



## Andi_CH (11. Mai 2011)

Und hier noch die Implementation, wenn die Noten per Paramter übergeben werden sollen
(Durschnitt als int ist übrigens eine schlechte Idee!)


```
package com.javaforum.test;

class Notendurchschnitt {
	public static void main (String[] args) {
		double[] noten = new double[args.length];
		double durchschnitt = 0.0;
		for (int i=0; i<args.length; i++) {
			noten[i] = Double.parseDouble(args[i]);
			durchschnitt += noten[i];
		}
		durchschnitt /= args.length;

		System.out.println("Deine Noten:");
		for (int i=0; i<noten.length; i++)
			System.out.println((i + 1) + ". Note : " + noten[i]);
		System.out.println("-------------");
		System.out.println("Durchschnitt: " + durchschnitt);
	}
}
```


----------



## BoreX (17. Mai 2011)

Leute, Leute ... sowie ich das verstanden hab bei ihr ist sie nicht mal ansatzweise soweit um mit der main-Methode zu arbeiten und dem übergebenen String.
Das macht alles nur komplizierter. 
Ich denke sie soll einfach eine vorgegebene Anzahl an Noten angeben und nicht mit for-Schleifen oder ähnlichem arbeiten, das würde zu weit im Stoff vorgreifen und wenn sie dran kommt zum erklären kann sies nicht und das bringt ihr im endeffekt auch nichts oder?


----------



## Andi_CH (17. Mai 2011)

Letzte Meldung des TO war am 04.05.2011, 19:23. Vermutlich ist die/der wohl längst von der Schule gejagt worden oder hat in einem anderen Forum eine angepasstere Lösung ergaun ... äh erhalten - was hier an Code steht ist ja auch ein wenig für die Nachwelt.


----------



## BoreX (17. Mai 2011)

ja ... ich kam nicht früher zum antworten wegen einigen problemen ... mh ... dann sollte vllt. jemand das thema als erledigt abhacken? der ersteller meldet sich ja anscheinend nicht mehr ... hat entweder es wirklich geschafft durch nen anderes forum ( ò.ó ) oder hats halt in der schule mitbekommen ... ich finds schade dabei geben wir uns solche mühe


----------

