public class demo2 {
public static void main(String[] args) {
char[] num={'黑', '马', '程', '序', '员' };
String s1="01234";
String s2=num[s1.charAt(2)-'0']+"";//在这里为什么要减去0,如果不写-0为什么出现数组角标越界异常
System.out.println(s2);
}
}
s1.charAt(2)这个是字符串s1的一个方法,返回的是索引2位置的字符,也就是字符'2'
num是个字符数组,num[]里面中括号里面只能是数字,而字符'2'是字符类型,他的ASC码值是50,但是num长度只有5,当然会报字符数组长度越界
字符'0'的ASC码值是48,用'2'-'0'得到整数2,就得到num索引2处的字符--'程',后面(+ '''')是让结果变成字符串,不然会和s2的类型不匹配 |