[CODE lang="java" title="Java"]import java.util.Scanner;
import static java.lang.Character.getNumericValue;
public class ISBN {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Dein ISBN Code bitte: ");
bildePruefziffer(sc.next());
}
public static void bildePruefziffer(String isbn) {
var temp = 0;
int result = 0;
for (int i = 0; i < isbn.length(); i++) {
if (isbn.charAt(i) != '-') {
temp++;
if ((temp) % 2 == 0) {
result += 3 * getNumericValue(isbn.charAt(i));
} else {
result += getNumericValue(isbn.charAt(i));
}
}
}
if (result % 10 != 0) {
System.out.printf("%1$s%2$d","Deine Prüfziffer ist: ",10 - (result % 10));
}else{
System.out.printf("%1$s%2$d","Deine Prüfziffer ist: ",0);
}
}
}
[/CODE]
Gibt es eine kürzere und schnellere Variante ? Gerne melden.
import static java.lang.Character.getNumericValue;
public class ISBN {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Dein ISBN Code bitte: ");
bildePruefziffer(sc.next());
}
public static void bildePruefziffer(String isbn) {
var temp = 0;
int result = 0;
for (int i = 0; i < isbn.length(); i++) {
if (isbn.charAt(i) != '-') {
temp++;
if ((temp) % 2 == 0) {
result += 3 * getNumericValue(isbn.charAt(i));
} else {
result += getNumericValue(isbn.charAt(i));
}
}
}
if (result % 10 != 0) {
System.out.printf("%1$s%2$d","Deine Prüfziffer ist: ",10 - (result % 10));
}else{
System.out.printf("%1$s%2$d","Deine Prüfziffer ist: ",0);
}
}
}
[/CODE]
Gibt es eine kürzere und schnellere Variante ? Gerne melden.