java求助,不知道为啥不对

P1055 [NOIP2008 普及组] ISBN 号码

176lhp @ 2022-06-21 17:34:53

package claass;
import java.util.Scanner;
public class Class02 {
    public static void main(String[] args) {
      Scanner sc =new Scanner(System.in);
      String n=sc.next();
      int end=0;
      //分割完之后再组成一个新的不包含符号和识别码的字符串
      String b[]=n.split("-");
      String c=b[0].concat(b[1]).concat(b[2]);
      char end1;
      //算出识别码
      for(int i=0;i<c.length();i++){
          end=+(c.charAt(i)-'0')*(i+1);
      }
      if(end%11==10){
           end1='X';
      }
      else{
           end1=(char)(end%11+'0');
      }
      //比较
      if(n.charAt(n.length()-1)==end1){
          System.out.println("Right");
      }
      else{
          String x=b[0].concat("-").concat(b[1]).concat("-").concat(b[2]).concat("-").concat(String.valueOf(end1));
          System.out.println(x);
      }
    }
}

看题解里的java算的时候直接用的输入的字符串,没有去掉-,不理解;有没有大佬教教


by Hagasei @ 2022-06-21 20:06:45

@176lhp

end=+(c.charAt(i)-'0')*(i+1);

应为 ...+=...

xd


|