判断成功后你写赋值操作
最上面的String asd;这一行需要初始化,改成这样:String asd = null;
substring(a,b),从位置a开始截取,到b,不包括b你写substring(17,18),实际上只截取到一个字符,并不是最后2个字符此外,asd没有初值,赋值语句只在if里,导致一旦if语句没有执行,asd就是个未知,所以会报错,必须给它个初值,或者在else里给它赋值另外的值
substring(17, 18)是取第17位,而不是最后一位