Programm zur Notenkalkulation

Das hier
Code:
 && args[0] != null
erübrigt sich eigentlich, weil wenn args.length > 0 sein sollte, dann gibt es zwangsweise ein erstes Argument und das kann ohnehin nicht null sein, da ein Argument übergeben wurde...

*Hierbei* stimmts.
(Da der Main-Methoden-Argument-Parser mindestens Leer-Strings erstellt)

Ansonsten gehts aber schon: (das das Array > 0 ist und doch nur NULL-Elemente beinhaltet)

Java:
if (args.length > 0)
{
    args[0] = null;
    args[0].toString(); //NULLPOINTER!
}
 
Zuletzt bearbeitet:
Operation Willküre

Na und? Abgesehn davon, dass die meisten Lehrer, die ich kenn, ihre Noten durch Ausrechnen der Durchschnittsnote vergeben, ist es nicht verboten, wenn Schüler ihre Noten zusammenrechnen und daraus den Durchschnitt oder was auch immer errechnen...

Das Schüler dies so machen ist sicherlich nicht verboten. Solche Grundsatzdiskussionen möchte ich hier auch nicht anfangen.
Mir geht es darum: Wenn schon arithmetisch, dann realistisch.

Schlimmer find ich Lehrer, die überhaupt nicht nachdenken und es auch gar nicht versuchen, sondern die Noten wortwörtlich auswürfeln.

Das Problem ist, dass Schüler denken ein "sehr gut" seit drei-mal so gut wie ein "befriedigend", was anschließend auch Grundlage ihrer Berechnungen wird. Das arithmetische Mittel fordert zudem, dass die 1 gegenüber der 3 diesen "dreifach-Faktor" (wenn man ihn so nennen mag) besitzt. Dem ist leider nicht so.
In den Richtwerten eines IHK-Notenschemas sieht man, dass eine 1 bei 100% Leistung liegt und eine 3 bei knapp 73%. Die Annahme der Schüler postuliert hingegen, das eine 3 nur 33% Leistung wäre, da 3 * 33% ~ 100% und das ist ein Widerspruch. (http://www.buerokauffrau-online.de/ihk-notenschluessel.html)

Wenn man 1 und 6 schreibt und mündlich glatt 3 steht, darf man sich nicht wundern, dass man eine 4 kriegt.
Klausuren: 1 und 6: (100% + 0%) / 2 = 50%
Klausuren und mündlich: 50% + 73% = 61,5% --> 4
Hier greift die Arithmetik wieder.

Noch was anderes für jeden Schüler hier zum nachrechnen:
Klausuren: 1 und 3
Mündlich: 1
Endnote? (Tip: Derjenige steht nicht zwischen zwei Noten)

Hoffe dir damit einen Anstoß gegeben zu haben ;)
 
Zuletzt bearbeitet:
:offtopic:
Zodiac, das haengt vom Lehrer ab, einige sehen das mdl net so wichtig, also bekommt man wohl ne 2. Bei anderen zaehlt das muendliche und das eigenen "ich mag den Schueler oder net" viel staerker und man bekommt ne 3 :D
 
Schon klar, stimmt auch. Für das obige wurde 50/50 angenommen. Jeder Lehrer offenbart am Jahresanfang sein Bewertungsschema und da sieht man die Unterschiede. Das macht ein pauschales System so schwer.

:offtopic:
Zu dem "Ich mag den Schüler net" möchte ich nichts näheres sagen, außer: Das darf man nicht, das gibt es nicht und wenn dem so ist: dann bitte gegen angehen.
 
Als ich "wortwörtlich würfeln" sagte, meinte ich das auch so. An einer Schule, an der ich war, gabs nen Lehrer, ka wie der hieß, ist aber auch egal, der hat seine Noten echt gewürfelt und das kann ja irgentwo nicht sein...
 
:offtopic:
Zu dem "Ich mag den Schüler net" möchte ich nichts näheres sagen, außer: Das darf man nicht, das gibt es nicht und wenn dem so ist: dann bitte gegen angehen.

Sowas gibts doch. Nur sowas nachzuweisen ist was anderes. Angenommen 2 Schüler stehen beide zwischen 2 und 3 von den Klausuren her gleich geschrieben. Den einen mag er nicht, also sagt er das sein mdl zu schlecht ist, gibt ihm eine 3.. dem anderen den er mag gibt er eine 2.

Als ich "wortwörtlich würfeln" sagte, meinte ich das auch so. An einer Schule, an der ich war, gabs nen Lehrer, ka wie der hieß, ist aber auch egal, der hat seine Noten echt gewürfelt und das kann ja irgentwo nicht sein...

Sowas ist dann echt ganz schön sch****.

Bei solchen Sachen kann man wohl höchstens mit dem vertrauens lehrer sprechen.
 
Moin,

könnt Ihr das Thema eventuell wieder auf's Coding beschränken?
Die Machenschaften der Lehrer auszudiskutieren ist eher ein Fall für einen anderen Forenbereich.

Danke :)

Gruß,
Xan
 
Hallo Leute,

nach einer harten Woche Urlaub, und einer noch härteren Woche Arbeit, bin ich endlich wieder zum programmieren gekommen. Mein Programm hat auch schon, wie ich finde, einige Fortschritte gemacht. Eine Kleine Problematik gibt es aber, bei der ich momentan noch nicht weiter komme.

Code:
import java.io.*;

public class TFR {
	public static void main(String[] args){
	File f = new File(args[0]); 					  
	
	try{
		FileReader fr = new FileReader(f); 			  
		BufferedReader br =	new BufferedReader(fr);   
		String zeile = br.readLine();				  		double note = 0;
		String schulaufg = "s";			  
		while (zeile != null) { 					  		
			
			String[] datensatz1 = zeile.split(";");   
			System.out.println(datensatz1[0]);
							 		
			int i = 1;
			while(i < datensatz1.length)
			{
						
				String art = datensatz1[i].substring(0,1);
				if (art.equals(schulaufg))
					{
				
						note = Double.parseDouble(datensatz1[i].substring(1,2));
						note = ((note) * 2) ;
						System.out.println(note);
				
					}
				else
					{
						note = Double.parseDouble(datensatz1[i].substring(1,2));
						System.out.println(note);
					}
					i++;
					
								
			}
	
		  	zeile = br.readLine();}
  			
  		}catch(IOException ioe){					  		System.out.println("Datei nicht vorhanden");} 
}
}

und so sieht meine einzulesende Datei aus:

Deutsch;s1;e2;m3
Mathe;e5;s6;m4
Englisch;m2;e6;s6


Funktioniert soweit alles. Nun muss ich aber die Werte für die Variable "note" in ein Array packen um diese anschließend zu berechnen. Mal angenommen ich schreibe:

double[] rechnung = note;

bekomme ich folgende Fehlermeldung:

TFR.java:20: incompatible types
found : double
required: double[]
double[] rechnung = note;

das selbe Problem habe ich auch mit Integer.
Könnt ihr mir sagen, wodurch diese Fehlermeldung entsteht und was ich ändern muss, um meine Noten letzenendes doch in Array packen zu können? Ein alternativer Lösungsvorschlag um das Array zu umgehen wäre natürlich auch eine Möglichkeit.

Danke und viele Grüße :)
 

Neue Beiträge

Zurück