已采纳回答 / xiaoxin3839519
这里是按Unicode计算字符串长度,而不是以字节单位获得字符串的长度,所以汉字的长度是1,不是2,加上两个空格长度就是10,另外字符串中字符的索引是从0开始的,所以str.indexOf(编)=8,表示的是在第9个字符位置上。
2017-03-09
已采纳回答 / 猪丶猪侠
split()方法是按照括号里面的内容拆分成数字, 比如str字符串的内容是“学习 java 编程”,那么str.split(" ")就会把str拆分成 "学习","Java","编程" 三个字符串 然后存在arr字符串数组里,如果是str.split("习"),就会把str拆分成 "学", " java 编程"两个字符串。学习的时候哪里不懂可以尝试把代码替换下再运行看发生什么变化,这样学习才能事半功倍。
2017-03-09
已采纳回答 / 猪丶猪侠
public String toString(){return name+"\t"+sex+"\t"+age+"\t"+address;}这里是重写了toSrting()方法,你可以试着把这代码注释掉,那打印出来的就是User对象的地址,当你用上这代码时,打印出的就是重写toString()方法里的内容。
2017-03-08
已采纳回答 / 慕粉1406301482
小姐姐好厉害,自己拓展。恩,这次老师只比较了name 的值,因为是想检验是否包含课程。重写的equals方法里面比较的就是name 。我试了一下,ID随便赋值,只要课程名符合,contain()返回true。
2017-03-08
已采纳回答 / qq_李意成_0
你目前用的是List接口,元素可以重复。首先你在第三个位置上添加的是 5:数学。所以当你重复添加 1:数据结构 时获取到的是当前位置上的数据 即 5:数学而实际你添加的是1:数据结构。
2017-03-06
已采纳回答 / ziom
你定义的这个方法返回值类型是String, 所以编译器会校验你的整个方法是否一定会返回一个String, 现在你这种写法对于编译器来说,就是有可能不会返回String(比如newBook.length==0或者循环中的if条件不成立), 试试在for循环下面,也就是这个方法的最后再 return ""; 返回一个空字符串。
2017-03-06
已采纳回答 / WhiteJj
可能你重写了course类的equals方法,所以contains方法在使用时的机制比较的是内容,所以即使你新创建的对象,只要同名,就会返回ture
2017-03-05
已采纳回答 / ziom
会抛出一个算数异常,提示不能被0除。话说这种问题你自己实际写个demo测试一下不就知道了吗