package com.github.javafaker;
import com.github.javafaker.service.RandomService;
public class Code {
private final RandomService randomService;
public Code(RandomService randomService) {
this.randomService = randomService;
}
public String isbn10() {
StringBuilder isbn10 = new StringBuilder();
int sum = 0;
for (int i = 10; i > 1; i--) {
int n = randomService.nextInt(10);
sum += i * n;
isbn10.append(n);
}
int check = (11 - sum % 11) % 11;
isbn10.append('-');
isbn10.append(check != 10 ? check : "X");
return isbn10.toString();
}
public String isbn13() {
StringBuilder isbn13 = new StringBuilder();
int sum = 0;
int multiplier = 1;
int a = 1;
int b = 2;
for (int i = 0; i < 12; i++) {
int n = randomService.nextInt(10);
sum += multiplier * n;
multiplier = multiplier == 1 ? 3 : 1;
isbn13.append(n);
if (i == b) {
isbn13.append('-');
int t = b;
b += a;
a = t;
}
}
int check = (10 - sum % 10) % 10;
isbn13.append(check);
return isbn13.toString();
}
}