第11次作业--字符串处理

题目1:编写一个应用程序,统计输入的一个字符串中相同字符的个数,并将统计结果输出。

一、代码:

StrNumber类

package com.hou1120;

public class StrNumber {
    int scarchStr(String str1, String str2) {
        int count = 0;
        while (str1.indexOf(str2) != -1) {
            int i = str1.indexOf(str2);
            count++;
            str1 = str1.substring(i + 1);
        }
        System.out.println(str2 + ":" + count);
        return count;
    }

    public void sameStr(String str) {
        String t;
        while (str.length()!= 0) {
            t = str.substring(0, 1);
            this.scarchStr(str, t);
            str = str.replaceAll(t, "");
        }
    }

}

Main类

package com.hou1120;
import java.util.*;
/**
 * 定义主类
 * @author ASUS
 *
 */
public class Main {
    public static void main(String[] args) {
        String str;
        System.out.println("统计输入的一个字符串中相同字符的个数");
        System.out.println("请输入一个字符串:");
        Scanner scanner = new Scanner(System.in);
        str = scanner.next();
        StrNumber stropt = new StrNumber();
        stropt.sameStr(str);
    }
}

二、截图:

题目2:编写程序,输入一个字符串,判断该串中的字母能否组成一个回文串(回文串:一个字符串从前向后读取和从后向前读取都一样)。如:abc?ba

一、代码:

package com.hou1119;
import java.util.*;
/**
 * 将字符串倒置后创建新字符串
 * 然后两者相比
 * @author ASUS
 *
 */
public class Main {
	public static void main(String[] args){
		System.out.println("请您输入一个字符串:");
		Scanner in = new Scanner(System.in);
		String str = in.next();
		StringBuffer sb = new StringBuffer(str); //可变字符串
		sb.reverse(); //将字符串倒置
		String newS = new String(sb);
		if(str.equals(newS)){
			System.out.println("您输入的字符串" + str + "是回文字符串。" );
		}else{
			System.out.println("您输入的字符串" + str + "不是回文字符串。" );
		}
	}
}

二、截图:

posted @ 2019-11-20 22:02  侯英龙20194669  阅读(130)  评论(0编辑  收藏  举报