Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package sample;
- import javafx.event.ActionEvent;
- import javafx.scene.control.ListView;
- public class Controller {
- public ListView lstIsbnKorrekt;
- public ListView lstISBN;
- public ListView lstIsbnFalsch;
- private String[] isbnList = {"978-3-7657-2781 8", "9783442546381", "978-3453152205", "978 783442 416523", "978-3770436385", "978-3770436384"};
- public void initialize() {
- for (String s : isbnList) {
- lstISBN.getItems().add(s);
- }
- }
- public void actStart(ActionEvent actionEvent) {
- for (int i = 0; i < lstISBN.getItems().size(); i++) {
- String isbn = (String) lstISBN.getItems().get(i);
- if (isCorrectISBN(isbn)) {
- lstIsbnKorrekt.getItems().add(isbn);
- } else {
- lstIsbnFalsch.getItems().add(isbn);
- }
- }
- }
- private boolean isCorrectISBN(String string) {
- char[] isbn = string.replaceAll("[- ]", "").toCharArray();
- if (isbn.length != 13) {
- return false;
- }
- int ausgelesenePruefziffer;
- if (isbn[12] == 'X') {
- ausgelesenePruefziffer = 10;
- } else {
- ausgelesenePruefziffer = Character.getNumericValue(isbn[12]);
- }
- int generiertePruefziffer = generierePruefziffer(isbn);
- if (ausgelesenePruefziffer == generiertePruefziffer) {
- return true;
- } else {
- return false;
- }
- }
- private int generierePruefziffer(char[] isbn) {
- int summe = 0;
- int[] gewichtung = {1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3};
- for (int i = 0; i < 12; i++) {
- summe += Character.getNumericValue(isbn[i]) * gewichtung[i];
- }
- return 10 - summe % 10;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement