Hallo,
ich habe ein kleines Problem mit meinem Projekt. Ich habe schon alles mögliche in dem Fall ausprobiert und trotzdem komme ich nicht weiter. Ich würde sehr dankbar sein, wenn jemand mir wenigstens eine Idee vorschlagen würde, damit ich mein Problem lösen kann.
Es handelt sich um einen Program, der Notendurchschnitt ausrechnet. Ich habe vorgegebene Interfaces, an die ich mich halten muss. Es enthält unter anderem ein JComboBox. Je nachdem was in der Combobox gewählt ist, ist die Bewertungskriterium anders.
Die Methode muss in der anderen Klasse angewendet werden, nachdem die Prozenten gezählt wurden. Dies gescheht hier:
Das alles sieht in der Abbildung so aus:
https://imagizer.imageshack.us/v2/262x289q90/801/s72u.png
In das Feld Endnote sollte nähmlich die nach den Prozenten ausgerechnete Note reingeschrieben werden.
Vielen Dank für die Vorschläge.
ich habe ein kleines Problem mit meinem Projekt. Ich habe schon alles mögliche in dem Fall ausprobiert und trotzdem komme ich nicht weiter. Ich würde sehr dankbar sein, wenn jemand mir wenigstens eine Idee vorschlagen würde, damit ich mein Problem lösen kann.
Es handelt sich um einen Program, der Notendurchschnitt ausrechnet. Ich habe vorgegebene Interfaces, an die ich mich halten muss. Es enthält unter anderem ein JComboBox. Je nachdem was in der Combobox gewählt ist, ist die Bewertungskriterium anders.
Java:
public void setStandard(String standard) {
float eWert = 0;
// Abitur
if(standard == abi){
i=0;
if(eWert <= 19){
grade = "6";
}else if(20 >= eWert && eWert <= 26){
grade = "5-";
}else if(27 >= eWert && eWert <= 32){
grade = "5";
}else if(33 >= eWert && eWert <= 39){
grade = "5+";
}else if(40 >= eWert && eWert <= 44){
grade = "4-";
}else if(45 >= eWert && eWert <= 49){
grade = "4";
}else if(50 >= eWert && eWert <= 54){
grade = "4+";
}else if(55 >= eWert && eWert <= 59){
grade = "3-";
}else if(60 >= eWert && eWert <= 64){
grade = "3";
}else if(65 >= eWert && eWert <= 69){
grade = "3+";
}else if(70 >= eWert && eWert <= 74){
grade = "2-";
}else if(75 >= eWert && eWert <= 79){
grade = "2";
}else if(80 >= eWert && eWert <= 84){
grade = "2+";
}else if(85 >= eWert && eWert <= 89){
grade = "1-";
}else if(90 >= eWert && eWert <= 94){
grade = "1";
}else{
grade = "1+";
}
}
// Duale Bildungsgänge
else if(standard == dua){
i=1;
if(eWert <= 29){
grade = "6";
}else if(30 >= eWert && eWert <= 49){
grade = "5";
}else if(50 >= eWert && eWert <= 66){
grade = "4";
}else if(67 >= eWert && eWert <= 80){
grade = "3";
}else if(81 >= eWert && eWert <= 91){
grade = "2";
}else{
grade = "1";
}
}
// FOS, BOS, Assistenten
else if(standard == fos){
i=2;
if(eWert <= 26){
grade = "6";
}else if(27 >= eWert && eWert <= 44){
grade = "5";
}else if(45 >= eWert && eWert <= 58){
grade = "4";
}else if(59 >= eWert && eWert <= 72){
grade = "3";
}else if(73 >= eWert && eWert <= 84){
grade = "2";
}else{
grade = "1";
}
}
Die Methode muss in der anderen Klasse angewendet werden, nachdem die Prozenten gezählt wurden. Dies gescheht hier:
Java:
public void actionPerformed(ActionEvent ae) {
float wert = 0.0f;
float wichtung = 0.0f;
float eWert = 0.0f;
float endnote = 0.0f;
if(ae.getSource() == button){//Wenn "Berechnen" gedruckt wird
for (int i = 0; i < numsP.length; i++) {
if(numsP[i].getText().isEmpty()){//Falls die Textfelder leer sind,
numsP[i].setText("0");//werden die durch nullen ersetzt
numsW[i].setText("0");
}
wichtung += Float.parseFloat(numsW[i].getText());
wert = Float.parseFloat(numsP[i].getText())* Float.parseFloat(numsW[i].getText());
eWert += wert;//Prozente zusammen rechnen
}
}
eWert = eWert/wichtung;//Durchschnitt errechnen
String str = String.valueOf(eWert);
submitted[0].setText(str);//Durchschnitt anzeigen
if(ae.getSource() == button1){//Wenn "Zurücksetzen" gedruckt wird
submitted[0].setText("");//werden die Inhalte aus allen Feldern gelöscht
for (int i = 0; i < numsP.length; i++) {
numsP[i].setText("");
}//for
}//if
}//actionPerfrmed(ActionEvent ae
Das alles sieht in der Abbildung so aus:
https://imagizer.imageshack.us/v2/262x289q90/801/s72u.png
In das Feld Endnote sollte nähmlich die nach den Prozenten ausgerechnete Note reingeschrieben werden.
Vielen Dank für die Vorschläge.