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

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

Test类:一个主方法

 1 /**
 2  * 只有一个主方法
 3  * 用nextLine()方法接收字符串赋给str对象
 4  * 用str.length()方法控制for循环次数
 5  * int num=0;对变量num进行初始化
 6  * 利用str.indexOf()方法找出字符第一次的位置
 7  * 利用str.substring()方法截取str中字符串的单个字符
 8  * 利用str.regionMatches()方法比较str字符串中与截取字符相同的个数
 9  */
10 
11 package cn.deu.ccut.eleven;
12 
13 import java.util.*;
14 
15 public class Test {
16     public static void main(String[] args) {
17         Scanner reader=new Scanner(System.in);
18         System.out.println("输入字符串:");
19         String str=reader.nextLine();
20     
21         for(int t=0;t<str.length();t++) {
22             int num=0;
23             if(str.indexOf(str.substring(t,t+1))==t) {
24                 for(int i=0;i<str.length();i++) {
25                     if(str.regionMatches(i,str.substring(t,t+1),0, 1)){
26                         num++;
27                 }
28                     }
29                 System.out.println(str.substring(t,t+1)+":"+num);    
30             }
31         }
32     }    
33 }

 运行截图:

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

 Huiwen类:一个主方法;一个String类str对象

/**
 * 一个主方法
 * nextLine()方法接收键入的字符串;
 * length()方法判断字符串中的字符个数赋给变量int a;
 * int t;累加器
 * charAt(int i)方法获取当前字符串第i个位置的字符
 */

package cn.deu.ccut.eleven;

import java.util.*;

public class Huiwen {
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner reader=new Scanner(System.in);
        System.out.println("输入一个字符串:");
        String str=reader.nextLine();
        int a=str.length();
        int t=0;
        for(int i=0;i<a/2;i++) {
            if(str.charAt(i)==str.charAt(a-(i+1))) {
                    t++;
                }
            }
        if(t==a/2) {
            System.out.println("该字符串是回文");
        }else {
            System.out.println("该字符串不是回文");
        }
        
    }

}

运行截图:

posted @ 2019-11-19 16:05  02孙帅群  阅读(192)  评论(0编辑  收藏  举报