一、选择题
(1)下列有关Java异常处理的叙述正确的是( ABD)
A.finally是为了确保一段代码不管是否捕获异常都会执行的一段代码
B.throws用来声明一个成员方法可能抛出的各种非运行异常
C.final可以声明属性和方法,分别表示属性的不可变及方法的不可继承
D.throw用来明确的抛出一个异常情况
final可以声明属性和方法,分别表示属性的不可变及方法的不可重写
二、编程题
2.1 统计回文串
2.1.1 题目
2.1.2 题解
思路:将字符串B分别插入到A的每个可能的位置,然后判断插入后的字符串是否是回文串,如果是count++,否则判断下一个插入位置
代码:
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
String str1=scanner.nextLine();
String str2=scanner.nextLine();
int count=0;
String str=str2+str1;
if(isPail(str)) count++;
for(int i=1;i<str1.length();i++){
String tmp=str1.substring(0,i);
StringBuilder sb=new StringBuilder(tmp);
sb.append(str2);
sb.append(str1.substring(i,str1.length()));
if(isPail(sb.toString())){
count++;
}
}
if(isPail(str1+str2)) count++;
System.out.println(count);
}
public static boolean isPail(String str){
int l=0;
int r=str.length()-1;
while(l<r){
if(str.charAt(l)!=str.charAt(r)){
return false;
}else {
l++;
r--;
}
}
return true;
}
}