首先看题目的要求
判断,需要录入一段字符串,并根据题目要求进行判断
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
String ISBN = scan.next();
//首先按照格式,录入Isbn号码,存入字符数组中
char[] arr = ISBN.toCharArray();
int num = 0;
int count = 0;
//循环进行遍历
for(int i = 0; i < arr.length-1; i++) {
//当遍历到数字项,执行首位*1+第二位*2......
if(arr[i] != '-') {
count++;
num = num + count*(Integer.parseInt(String.valueOf(arr[i])));
}
}
//对最终结果取模,与最后项比较
int result = num % 11;
//余数为10
if(result == 10) {
if(arr[arr.length-1]=='X')
System.out.print("Right");
else {
for(int i = 0; i < arr.length; i++) {
if(i == arr.length-1)
System.out.print("X");
else
System.out.print(arr[i]);
}
}
//余数不为10
}else {
int judge = 0;
if(arr[arr.length-1]!='X') {
if(Integer.parseInt(String.valueOf(arr[arr.length-1]))==result) {
judge = 1;
System.out.print("Right");
}
}
//判断,输出最终正确isbn号码
if(judge == 0){
for(int i = 0; i < arr.length; i++) {
if(i == arr.length-1)
System.out.print(result);
else
System.out.print(arr[i]);
}
}
}
}
}
Integer.parseInt(s) 的作用就是把字符串 s 解析成有符号基本类型的 int;
Integer.valueOf(s) 把字符串 s 解析成 Integer 对象类型,返回的对象可以调用 Integer 中的方法;