Ist der Quellcode so richtig?

Lara92

Mitglied
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:

Java:
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 +);
 }
}
 

XHelp

Top Contributor
Nein, der ist falsch.
Code:
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
Code:
+
zu viel.

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

Lara92

Mitglied
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..
 

Lara92

Mitglied
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...
 

rogue

Mitglied

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.
 

BoreX

Mitglied
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.

Java:
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
 

BoreX

Mitglied
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
 
T

Tomate_Salat

Gast
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

Top Contributor
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[]
Java:
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:
Java:
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

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

Java:
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

Mitglied
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

Top Contributor
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

Mitglied
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 :p
 

Neue Themen


Oben