sonofbaba 2017-09-08 02:01 采纳率: 3.7%
浏览 1081

小弟有一段代码不太明白求大佬赐教

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner scanner=new Scanner(System.in);
while(scanner.hasNext()){
String s=scanner.nextLine();
int len=s.length();
int []arr1=new int[10];
for(int i=len-1;i>=0;i--){
if(arr1[s.charAt(i)-48]==0){
System.out.print(s.charAt(i)-48);
arr1[s.charAt(i)-48]++;
}
}
}
}
}
if(arr1[s.charAt(i)-48]==0){
这句charAt(i)返回的不是具体数字吗,为什么要减48啊,我知道48是ascii的0

  • 写回答

6条回答 默认 最新

  • Seven_Hsu 2017-09-08 02:24
    关注

    首先你要知道charAt的作用是返回字符串指定位置的char值。如果s="102"。那么chatAt(0)='1',这个‘1’是字符,不是数字。而后面是判断是否为0。当然要用其ASCII的数值减48了

    评论

报告相同问题?