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

小弟有一段代码不太明白求大佬赐教
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
6条回答 默认 最新
- Seven_Hsu 2017-09-08 02:24关注
首先你要知道charAt的作用是返回字符串指定位置的char值。如果s="102"。那么chatAt(0)='1',这个‘1’是字符,不是数字。而后面是判断是否为0。当然要用其ASCII的数值减48了
解决 无用评论 打赏 举报