Ich habe ein Programm geschrieben, dass eine ISBN-Nummer auf ihre Korrektheit prüfen soll. Das geht über die Prüfziffer...mein Programm funktioniert richtig, nur muss ich wegen des Integer.parseInt Leerzeichen bei der Eingabe lassen...ich würde aber gern statt
z.b 9 7 9 3 1 3 7 8 1 3 6 5 5
direkt die Nummer in der Form
979-3-1378-1365-5 eingeben...ich bin auf den Befehl charAt gestoßen, aber ich habe erst angefangen und verstehe einfach nicht, wie das funktionieren soll. oder gibt es vielleicht noch einen anderen, einfacheren Weg?
z.b 9 7 9 3 1 3 7 8 1 3 6 5 5
direkt die Nummer in der Form
979-3-1378-1365-5 eingeben...ich bin auf den Befehl charAt gestoßen, aber ich habe erst angefangen und verstehe einfach nicht, wie das funktionieren soll. oder gibt es vielleicht noch einen anderen, einfacheren Weg?
Code:
public class Neu {
public static void main(String[] args) {
int stelle1 = Integer.parseInt(args[0]);
int stelle2 = Integer.parseInt(args[1]);
int stelle3 = Integer.parseInt(args[2]);
int stelle4 = Integer.parseInt(args[3]);
int stelle5 = Integer.parseInt(args[4]);
int stelle6 = Integer.parseInt(args[5]);
int stelle7 = Integer.parseInt(args[6]);
int stelle8 = Integer.parseInt(args[7]);
int stelle9 = Integer.parseInt(args[8]);
int stelle10 = Integer.parseInt(args[9]);
int stelle11 = Integer.parseInt(args[10]);
int stelle12 = Integer.parseInt(args[11]);
int stelle13 = Integer.parseInt(args[12]);
int a = stelle1*1 + stelle2*3 + stelle3*1 + stelle4*3 +
stelle5*1 + stelle6*3 + stelle7*1 + stelle8*3 +
stelle9*1 + stelle10*3 + stelle11*1 + stelle12*3;
int b = 10 - (a % 10);
System.out.println("Die zu überprüfende ISBN-Nummer lautet:\n" +
(int)stelle1 + "" + (int)stelle2 + "" + (int)stelle3 + "-" +
(int)stelle4 + "-" + (int)stelle5 + "" + (int)stelle6 + "" +
(int)stelle7 + "" + (int)stelle8 + "-" + (int)stelle9 + "" +
(int)stelle10 + "" + (int)stelle11 + "" + (int)stelle12 + "-" + (int)stelle13);
if (stelle13 == b) {
System.out.println("Die eingegebene ISBN-Nummer ist korrekt");
}
else {
System.out.println("Die ISBN-Nummer würde mit korrigierter
Prüfziffer wie folgt lauten:\n" + (int)stelle1 + "" + (int)stelle2 +
"" + (int)stelle3 + "-" + (int)stelle4 + "-" + (int)stelle5 + "" +
(int)stelle6 + "" + (int)stelle7 + "" + (int)stelle8 + "-" +
(int)stelle9 + "" + (int)stelle10 + "" + (int)stelle11 +
"" + (int)stelle12 + "-" + (int)b);
}
}
}
Zuletzt bearbeitet: