字符串的遍历查找
l指针直接开始查找,第一个if条件详解:
l==0:应付第一个单词就是符合模板的情况。
lines.charAt(l-1) == ’ ':确保这是一个新的单词,不会出现上面所说的部分符合条件的情况(adfhs—>fh)。
第二个if条件详解:
应付首字母符合条件但是后面的字母不相符的情况,此处要将m重置。
第三个if条件详解:
m != 0 || model.length() == 1:遍历完成,是符合条件 的单词,并且加上了模板是一个单独单词的情况,此时m=0但是符合条件。
lines.charAt(l+1) == ’ ':应付(abc—>abcde)的情况,确保符合条件的是一个完整的单词。
最后用first布尔变量来判断是否是第一次出现,首字母的位置用减法得到。
for(l = 0;l < lines.length();l++){
if((lines.charAt(l) == model.charAt(m))&&
((l == 0)||(lines.charAt(l-1) == ' '))){
for(int i = 0;i < model.length()-1;i++){
l++;
m++;
if(lines.charAt(l) != model.charAt(m)){
m = 0;
break;
}
}
if((m != 0 || model.length() == 1) && lines.charAt(l+1) == ' '){
sum++;
if(first) {
temp = l - m;
first = false;
}
}
m = 0;
}
}
3.整合最终答案
if(sum == 0) System.out.println(temp);
else {
System.out.print(sum+" "+temp);
}
isprime是一种函数,功能是判断素数。
#实现isPrime()函数,参数为整数,要有异常处理。如果整数是质数,返回True,否则返回False。
#函数分为定义、调用、执行、返回四部分,循环读取输入,注意缩进。
BigInteger用法
1.java中可以使用BigInteger操作大整数,也可以转换进制。如果在操作的时候一个整型数据已经超过了整数的最大类型长度long的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作。这些大数都会以字符串的形式传入。
BigInteger abs() 返回大整数的绝对值
BigInteger add(BigInteger val) 返回两个大整数的和
BigInteger and(BigInteger val) 返回两个大整数的按位与的结果
BigInteger andNot(BigInteger val) 返回两个大整数与非的结果