Hi leute,
ich habe hier eine kleine Aufgabe, bei der ich festhänge und etwas Hilfe bräuchte.
Schreiben Sie eine Klassenmethode, die eine also argument übergebene Matrikelnummer vom typ int auf Korrektheit überprüft und einen booleschen Wert liefert.
Legen Sie in der Methode ein Feld "faktor" an, dessen Elemente Sie mit den zur Ermittlung von GQ benötigten Faktoren initialisieren. Die einzelnen Ziffern der Matrikelnummer sollen ein einem Feld "ziffer" notiert werden. Beide Felder sollen vom Typ "int" sein.
Das hier ist mein bisheriges Ergebnis.
Ich weiß aber nicht wie ich am besten die "gewichtete Quersumme" bilden soll und diese dann mit der Matrikelnummer vergleiche und ob mein Code soweit überhaupt halbwegs richtig ist.
ich habe hier eine kleine Aufgabe, bei der ich festhänge und etwas Hilfe bräuchte.
Schreiben Sie eine Klassenmethode, die eine also argument übergebene Matrikelnummer vom typ int auf Korrektheit überprüft und einen booleschen Wert liefert.
- Matrikelnummern sind sechstellig und fangen mit der Ziffer 9 an.
- Die Matrikelnummer wird in ihre Ziffern Z0, Z1, Z2, Z3, Z4, Z5 aufgeteilt(Bsp.: Z0=9, Z1=4, Z2=5, Z3=6, Z4=7, Z5=8).
- Es soll nun eine spzielle "gewichtete Quersumme" GQ gebildet werden, für die gilt:
- GQ = Z0*2 + Z1*1 + Z2*4 + Z3*3 + Z4*2 + Z5*1.
Legen Sie in der Methode ein Feld "faktor" an, dessen Elemente Sie mit den zur Ermittlung von GQ benötigten Faktoren initialisieren. Die einzelnen Ziffern der Matrikelnummer sollen ein einem Feld "ziffer" notiert werden. Beide Felder sollen vom Typ "int" sein.
Das hier ist mein bisheriges Ergebnis.
Ich weiß aber nicht wie ich am besten die "gewichtete Quersumme" bilden soll und diese dann mit der Matrikelnummer vergleiche und ob mein Code soweit überhaupt halbwegs richtig ist.
Java:
public class Matrikelnummer {
public static boolean pruefen(int Matrikelnummer) {
int[] faktor = { 2, 1, 4, 3, 2, 1 };
int[] ziffer = { 9, 4, 5, 6, 7, 8 };
int[] GQ = new int[6];
if (ziffer[0] == 9 && ziffer.length == 6) {
for (int i = 0; i <= 6; i++) {
GQ[i] = faktor[i] * ziffer[i];
}
if(GQ[5] == ziffer[5]){
return true;
}
else{
return false;
}
}
}
}