Java学习实例——数组_定义⼀个字符类型的数组,存储着⼤写字母、⼩写字母、数字,统计每个。。。
问题:定义⼀个字符类型的数组, 存储着⼤写字母、⼩写字母、数字 ,统计每个⼩写字母各有多少个并打印输出。
⽅法⼀:
import java.util.Scanner;
public class Homework02 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
//定义⼀个char类型的数组,获取char数组中⼩写字母,识别⼩写字母值并计数
arrCharOpera();
}
//定义⼀个char类型的数组,进⾏操作
public static void arrCharOpera(){
char[] arrChar1 = {'a','A','c','D','F',1,23,45,'a','c','c','b','f','f'};
//获取char数组中⼩写字母
char[] charLower = loweredCharAmout(arrChar1);
//⼩写字母排序,将重复的字母排到⼀起
charLowerOrder(charLower);
//识别⼩写字母值并计数
charident(charLower);java定义一维数组并赋值
}
//统计char数组中⼩写字母
public static char[] loweredCharAmout(char[] arrChar1){
//定义⼀个数组接收⼩写字母,因为数组必须有长度所以我们先预定长度为原数组的长度
char[] arrLower1 = new char[arrChar1.length];
int j = 0;
for (int i = 0 ; i < arrChar1.length ; i++){
if(arrChar1[i] >= 'a' && arrChar1[i] <= 'z'){
arrLower1[j++] = arrChar1[i];
}
}
System.out.println("数组中⼩写字母的数量为:"+j);
//定义⼀个新数组存放⼩写字母(将空字符清理出去)
char[] arrLower2 = new char[j];
for(int i = 0; i < j;i++){
arrLower2[i] = arrLower1[i];
}
return arrLower2;
}
//⼩写字符排序
public static char[] charLowerOrder(char[] charLower ){
if(charLower.length > 1){
//选择排序,将重复的字符排列到⼀起
for (int i = 0 ; i < charLower.length ; i++){
for(int j = i+1; j < charLower.length; j++){
if(charLower[i] > charLower[j]){
char temp = charLower[i];
charLower[i] = charLower[j];
charLower[j] = temp;
}
}
}
}
return charLower;
}
/
/识别⼩写字母值并计数
public static void charident(char[] charLower){
//⽤于计算重复字符的数量,默认1个
int j = 1;
if(charLower.length > 1){
for (int i = 0 ; i < charLower.length -1 ; i++){
//若有重复的,j++
if(charLower[i]==charLower[i+1]){
j++;
}else{
//遇见下⼀个字符不⼀样的,输出出去
System.out.println("数组中⼩写字母"+charLower[i]+"的数量:"+j);
//j重新计算数量
j = 1;
}
//因为最后⼀个字符没有下⼀个,⽆法⽐较,所以特地拿出来
if(i+1 == charLower.length-1 ){
System.out.println("数组中⼩写字母"+charLower[i+1]+"的数量:"+j);
}
}
}else if(charLower.length == 1){
System.out.println("数组中⼩写字母"+charLower[0]+"的数量:"+j);
}else{
System.out.println("数组中不存在⼩写字母");
}
}
}
⽅法⼆:
public class Homework02 {
public static void main(String[] args) {
//定义⼀个char类型的数组,获取char数组中⼩写字母,识别⼩写字母值并计数char[] arrChar1 = {'a','A','c','D','F',1,23,45,'a','c','c','b','f','f'};
for(char j = 'a' ; j <= 'z' ; j++){
//进⾏计数
int reault = 0
for(int i = 0;i < arrChar1.length ;i++){
//判断字符在'a'和'z'之间即可
if(arrChar1[i] >= 'a' && arrChar1[i] <= 'z'){
reault++;
}
}
System.out.println(j+"的字母的个数是:"+reault);
}
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论