您的位置:首页 > 编程语言 > Java开发

Java语言程序设计(二十三)

2021-01-22 23:02 369 查看

  1.字符类Character 

      Java为每一种基本数据类型都提供了一个包装类,这些类是Character,Boolean,Byte,Short,Integer,Long,Float和Double,它们也分别对应基本类型。

      我们可以用一个char值创建一个Character对象,例如,下面的语句为字符a创建一个Character对象:

      Character character = new Character('a');

       charValue方法返回包装在Character对象中的字符值。方法compareTo将该字符与另一个字符进行比较,返回一个整数值,这个整数值是该字符与另一个字符统一码的差值,当且仅当两个字符相同时,equals方法才返回true。例如,假设charObject为 new Character('b'),则;

      charObject.compareTo(new Character('a'))返回1

      charObject.compareTo(new Character('b'))返回0

      charObject.compareTo(new Character('c'))返回-1

      charObject.equals(new Character('b'))返回true

      charObject.equals(new Character('a'))返回false

      Character类中还有很多方法,我们在具体要使用的时候可以上网上或者书上具体查询,这里就不一一列举了。

      问题:统计字符串中的每个字母

      我们要编写一个程序,提示用户输入一个字符串,然后统计在忽略字母大小写的情况下,字符串中每个字母出现的次数。

      下面是解决这个问题的步骤,首先使用String类中的toLowerCase方法将字符串中的大写字母转换成小写模式,之后创建一个由26个int值构成的数组,数组的每个元素记录一个字母出现的次数,最后对字符串中的每一个字符,判断其是否是小写字母,如果是,则给数组中对应的计数器加1.程序清单如下:

package tongji;

import java.util.Scanner;

/**
 *
 * @author john
 */
public class Tongji {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        Scanner input = new Scanner(System.in);
        System.out.println("Enter a string:");
        String s = input.nextLine();
        int []counts = countLetters(s.toLowerCase());
        for(int i=0;i<counts.length;i++){
        if(counts[i]!=0)
            System.out.println((char)('a'+i)+"appears"+counts[i]+((counts[i]==1)?"time":"times"));
    }
    }
    public static int[]countLetters(String s){
        int[] counts = new int[26];
        for(int i=0;i<s.length();i++){
            if(Character.isLetter(s.charAt(i)))
                counts[s.charAt(i)-'a']++;
        }
        return counts;
}

}

      countLetters方法,返回一个26个元素构成的数组,每个元素统计字符串中出现的次数,由于字母的大小写是忽略的,因此我们用toLowercase方法将字符串转换成所有字符都是小写字母。  countLetters方法处理字符串中的每个字符,如果字符为字母,其对应的计数器加1,在最后我们为了使得程序更清晰,如果出现1次,输出为time,如果出现的次数不是1,则输出为times,程序正确运行。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: