第11次作业

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

代码部分:

/*定义一个数组用于存放26个字母,给数组a赋初始值0,用str.charAt(i)获取字符串str第i个位置的字符,
 * 将字符出现的次数存到对应位置,进行次数相加,最后输出字符出现的次数*/
import java.util.*;

public class Text {
    public static void main(String[] args) {    
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入字符串:");
        String str = scanner.nextLine();
        count(str);
          }
          public static void count(String str){
              int a[]=new int[26];
              for(int j=0;j<a.length;j++) a[j]=0;
              for(int i=0;i<str.length();i++){
                  if(str.charAt(i)>=97&&str.charAt(i)<=122){
                  a[str.charAt(i)-97]++;
                  }
              }
              int b[]=a;
              for(int k=0;k<a.length;k++){
                  if(b[k]!=0){
                      System.out.println((char)(97+k)+":"+b[k]+" ");//输出字符出现的次数
                  }            
              }
        }
}

运行结果:

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

 代码部分:

/*定义一个字符型数组,利用for循环从头到尾和从尾到头进行比对,定义b类型为Boolean,赋初值为true,如果比对结果一样则是回文*/
import java.util.Scanner;

public class Text2 {
    public static void main(String[] args) {
        Scanner scanner=new Scanner(System.in);
        System.out.println("请输入字符串:");
        String str = scanner.nextLine();
        char[] a = str.toCharArray();
        Boolean b=true;
        for (int i = 0; i < a.length; i++) {
            if (a[i] != a[a.length - i - 1])
                b = false;
        }
        if (b)
            System.out.println("该字符串是回文!");
        else
            System.out.println("该字符串不是回文!");
    }
}

运行结果:

原文地址:https://www.cnblogs.com/lz150520/p/11891762.html