题解 | #[NOIP2008]ISBN号码#
[NOIP2008]ISBN号码
https://www.nowcoder.com/practice/95712f695f27434b9703394c98b78ee5
import java.util.Scanner; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //输入字符串样式 String str = sc.nextLine();//0-670-82162-4 //分割字符窜 String[] strarr = str.split("-");//'0','670','82162','4' int num1 = Integer.parseInt(strarr[0]);//0 int num2 = Integer.parseInt(strarr[1].substring(0, 1)); //6 int num3 = Integer.parseInt(strarr[1].substring(1, 2));//7 int num4 = Integer.parseInt(strarr[1].substring(2, 3));//0 int num5 = Integer.parseInt(strarr[2].substring(0, 1)); //8 int num6 = Integer.parseInt(strarr[2].substring(1, 2)); //2 int num7 = Integer.parseInt(strarr[2].substring(2, 3)); //1 int num8 = Integer.parseInt(strarr[2].substring(3, 4)); //6 int num9 = Integer.parseInt(strarr[2].substring(4, 5)); //2 String judge = strarr[3];//X //对前9个数字求识别码 int sum = num1 * 1 + num2 * 2 + num3 * 3 + num4 * 4 + num5 * 5 + num6 * 6 + num7 * 7 + num8 * 8 + num9 * 9; int ans = sum % 11; //识别码 //将计算的识别码与输入的识别码进行比较 //对ans==10?特判 if (ans == 10) { if (judge.equals("X")) { System.out.println("Right"); } else { System.out.println(strarr[0] + "-" + strarr[1] + "-" + strarr[2] + "-" + "X"); } } else { char ansjudge = (char) (ans + '0'); if (ansjudge == judge.charAt(0)) { System.out.println("Right"); } else { System.out.println(strarr[0] + "-" + strarr[1] + "-" + strarr[2] + "-" + ans); } } } }