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

本文介绍了Java中数组的概念及创建方法,展示了如何利用数组来统计字符串中不同字母的出现次数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数组(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]; //大小写字母统计数组,每个元素保存一个整数,默认为0
	char 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')++;
			else
				other++;
	}

	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()方法返回回车键之前的所有字符.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

成名在望xy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值