目录
第7章 习题
1.检验第一个字符串是否为第二个字符串的子串。
public static void u7q1(){
System.out.println("请输入2个字符串:");
Scanner sc = new Scanner(System.in);
String str1 = sc.nextLine(); //读取一行字符串
String str2 = sc.nextLine();
if (str2.indexOf(str1) == -1){
System.out.println("不是");
}else{
System.out.println("是");
}
}
2.检验字符串是否是回文。
public static void u7q2(){
System.out.println("输入字符串:");
Scanner sc = new Scanner(System.in);
String str1 = new String(sc.next());
StringBuffer sb = new StringBuffer(str1);
String str2 = sb.reverse().toString(); //翻转字符串
if (str1.equals(str2)){
System.out.println("是回文");
}else {
System.out.println("不是回文");
}
}
3.定义方法:输出”我,是清华大学毕业的,高材生!”中的单词并返回单词的个数。
public static void u7q3(){
StringTokenizer fenxi = new StringTokenizer("我,是清华大学毕业的,高材生!", ",");
System.out.println(fenxi.countTokens());
while (fenxi.hasMoreTokens()){
System.out.println(fenxi.nextToken());
}
}
4.定义方法:将一个char值、一个char数组、一个数值转换为一个字符串。
public static void u7q4(){
char q[] = {'j','i','h','g','f','e','d','c','b','a'};
char p = 'a';
int r = 1;
StringBuffer sb = new StringBuffer(); //append可以追加各种类型的数据
String str = new String(sb.append(q).append(p).append(r).toString());
System.out.println("q数组是:");
//遍历输出q
for (char c: q) {
System.out.print(c);
}
System.out.println("\np字符"+p+"\nr整数:"+r+"\n合并后为:"+str);
}
5.判断一个字母是大写还是小写,怎样判断一个字符是字母或数字。
public static void u7q5(){
char c = 'f';
if(Character.isLetter(c)){ //判断是否是字符
if(Character.isUpperCase(c)){
System.out.println("大写字符");
}else {
System.out.println("小写字符");
}
}
if (c >= '0' && c <= '9'){
System.out.println("数字");
}
}
6.编写程序,获取字符串缓冲区中的字符串s。
public static void u7q6(){
StringBuffer sb = new StringBuffer("字符串缓冲区的字符");
String str = sb.toString();
System.out.println(str);
}
7.定义一个方法,使用StringBuffer类中的reverse方法来倒转字符串。
public static void u7q7(){
StringBuffer sb = new StringBuffer("123456");
System.out.println(sb.reverse());
}
8.定义一个方法,检测一个字符串是否包含有的数字值。
public static void u7q8(){
String str = "hello43";
Boolean flag = true;
for (int i = 0; i < str.length(); i++) {
if(Character.isDigit(str.charAt(i))){
System.out.println("有数值");
flag = false;
break;
}
}
if (flag){
System.out.println("无数值");
}
}
9.定义一个方法,包含2个参数(a,b),要求参数从命令行获得。求a%b的值。
public static void u7q9(){
System.out.println("输入a,b");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println("a%b = " + a % b);
}