【洛谷OJ】P1055 ISBN號碼
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main{
private static Scanner cin;
public static void main(String args[])throws Exception {
cin = new Scanner(System.in);
String isbnToCheck = cin.nextLine();
String patternISBN = "\\d{1}-\\d{3}-\\d{5}-[\\dX]{1}";
Pattern pattern = Pattern.compile(patternISBN);
Matcher m = pattern.matcher(isbnToCheck);
if(isbnToCheck.trim().length() == 13 && m.find()) {
char[] isbnChars = isbnToCheck.toCharArray();
long identifier = 0;
String identifyNumber = new String("");
identifier += Integer.valueOf(String.valueOf(isbnChars[0]));
identifier += Integer.valueOf(String.valueOf(isbnChars[2]))*2;
identifier += Integer.valueOf(String.valueOf(isbnChars[3]))*3;
identifier += Integer.valueOf(String.valueOf(isbnChars[4]))*4;
identifier += Integer.valueOf(String.valueOf(isbnChars[6]))*5;
identifier += Integer.valueOf(String.valueOf(isbnChars[7]))*6;
identifier += Integer.valueOf(String.valueOf(isbnChars[8]))*7;
identifier += Integer.valueOf(String.valueOf(isbnChars[9]))*8;
identifier += Integer.valueOf(String.valueOf(isbnChars[10]))*9;
identifier = identifier%11;
if(identifier == 10) {
identifyNumber = new String("X");
}else {
identifyNumber = String.valueOf(identifier);
}
if (identifyNumber.equals(String.valueOf(isbnChars[12]))) {
System.out.println("Right");
}else {
System.out.println(new String(isbnChars,0,12)+identifyNumber);
}
}
}
}