1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Java数组编程实例(一) 统计输入字符串中每个字母出现的次数

Java数组编程实例(一) 统计输入字符串中每个字母出现的次数

时间:2023-08-05 18:05:23

相关推荐

Java数组编程实例(一) 统计输入字符串中每个字母出现的次数

数组(array)是一种用来组织数据的简单但功能强大的程序设计语言结构。数组是值的列表,它让我们仅声明一个变量,变量中可容纳多个单独访问的值,每个值保存在数组中确定的、已编号的位置中,对应于每个位置的编号称为索引(index)或下标(subscript)。在Java中,数组索引从0开始,大小为N的数组其下标从0到N-1。

在Java中数组是对象,要创建一个数组必须声明一个指向数组的引用,并通过new运算符实例化数组。这个过程要分配用来保存值的内存空间即数组的长度。数组有两种声明方式,第一种是在数组中保存的值的类型后面加上方括号,第二种是在数组名后加方括号。两种声明是等价的,但第一种格式更能表达所声明的类型是数组而不是整型,这样也与其它的类型声明格式相一致。

int[] score1 = new int[23]; //数组声明并实例化int score2[]; //第二种声明方法int[] score3 = {87, 93, 95, 88, 98, 84, 91} //用初值表实例化一个数组,代替使用new运算符

数组可以保存任何的基本类型或任何的对象(类)类型,但保存在数组中的所有值必须有相同的类型(或至少是相容的)。

编程实例。从键盘输入一个字符串,统计输入字符串中每个不同的字母(分大小写)出现的次数。

import java.util.Scanner;public class LetterCount{final int NUMCHAR = 26; //数组长度Scanner scan = new Scanner(System.in); // 实例化一个键盘扫描输入对象int[] upper = new int[NUMCHAR];int[] lower = new int[NUMCHAR]; //大小写字母统计数组,每个元素保存一个整数,默认为0char current; //当前位置的字符,char类型可通过ASCII码对字符排序int other = 0; //没有字母的情况System.out.println("Enter a sentence:");String line = scan.nextLine(); //输入字符串,可以带空格,按回车返回for (int ch = 0; ch<line.length();ch++){current = line.charAt(ch);if (current >= 'A' && current <= 'Z')upper(current-'A')++;else if (current >= 'a' && current <= 'z')lower(current-'a')++;elseother++;}System.out.println(); //换行for (int letter = 0; letter < NUMCHAR; letter++) {System.out.print((char)(letter + 'A'));System.out.print(":" + upper[letter]); //注意下标用方括号System.out.print("\t\t" + (char)(letter + 'a'));System.out.print(":" + lower[letter]);}System.out.println();System.out.println("Non-alphabetic characters:" + other);}}

next方法返回空格前的有效字符,它会自动去掉第一个有效字符前的空格等结束符,在输入有效字符后才会将后面的空格回车等认定为结束符。所以next方法不能得到带空格的字符串,而nextLine()方法返回回车键之前的所有字符.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。