Java統(tǒng)計(jì)字符串中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)
在日常編程中,我們經(jīng)常需要處理字符串?dāng)?shù)據(jù),例如統(tǒng)計(jì)字符串中的特定字符數(shù)量。本文將介紹如何使用Java語(yǔ)言來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的程序,該程序可以接收用戶輸入的一行字符,并分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)。
1. 環(huán)境準(zhǔn)備
確保你的開(kāi)發(fā)環(huán)境已經(jīng)安裝了JDK(Java Development Kit)。如果還沒(méi)有安裝,可以從Oracle官網(wǎng)下載并安裝適合你操作系統(tǒng)的版本。
2. 編寫(xiě)代碼
2.1 導(dǎo)入必要的包
首先,我們需要導(dǎo)入??java.util.Scanner??類,以便從控制臺(tái)讀取用戶的輸入。
import java.util.Scanner;
2.2 定義主類和主方法
接下來(lái),定義一個(gè)主類??CharacterCounter??,并在其中定義主方法??main??,這是Java程序的入口點(diǎn)。
public class CharacterCounter {
public static void main(String[] args) {
// 代碼將在這里添加
}
}2.3 讀取用戶輸入
在主方法中,使用??Scanner??對(duì)象從控制臺(tái)讀取一行文本。
Scanner scanner = new Scanner(System.in);
System.out.println("請(qǐng)輸入一行字符:");
String input = scanner.nextLine();2.4 統(tǒng)計(jì)字符
定義幾個(gè)變量來(lái)存儲(chǔ)不同類型的字符數(shù)量,并遍歷輸入字符串以統(tǒng)計(jì)每種類型字符的數(shù)量。
int letters = 0, spaces = 0, digits = 0, others = 0;
for (char c : input.toCharArray()) {
if (Character.isLetter(c)) {
letters++;
} else if (Character.isDigit(c)) {
digits++;
} else if (Character.isSpaceChar(c)) {
spaces++;
} else {
others++;
}
}2.5 輸出結(jié)果
最后,輸出每種類型字符的數(shù)量。
System.out.println("英文字母數(shù)量: " + letters);
System.out.println("空格數(shù)量: " + spaces);
System.out.println("數(shù)字?jǐn)?shù)量: " + digits);
System.out.println("其他字符數(shù)量: " + others);
2.6 完整代碼
將上述代碼片段組合起來(lái),完整的??CharacterCounter??類如下:
import java.util.Scanner;
public class CharacterCounter {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請(qǐng)輸入一行字符:");
String input = scanner.nextLine();
int letters = 0, spaces = 0, digits = 0, others = 0;
for (char c : input.toCharArray()) {
if (Character.isLetter(c)) {
letters++;
} else if (Character.isDigit(c)) {
digits++;
} else if (Character.isSpaceChar(c)) {
spaces++;
} else {
others++;
}
}
System.out.println("英文字母數(shù)量: " + letters);
System.out.println("空格數(shù)量: " + spaces);
System.out.println("數(shù)字?jǐn)?shù)量: " + digits);
System.out.println("其他字符數(shù)量: " + others);
scanner.close();
}
}3. 運(yùn)行程序

編譯并運(yùn)行上述Java程序。程序會(huì)提示你輸入一行字符,然后它會(huì)顯示該行字符中英文字母、空格、數(shù)字和其他字符的數(shù)量。
下面是一個(gè)使用Java編寫(xiě)的示例程序,該程序可以讀取用戶輸入的一行字符,并分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)。
import java.util.Scanner;
public class CharacterStatistics {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請(qǐng)輸入一行字符:");
String input = scanner.nextLine();
int letters = 0;
int spaces = 0;
int digits = 0;
int others = 0;
for (char c : input.toCharArray()) {
if (Character.isLetter(c)) {
letters++;
} else if (Character.isDigit(c)) {
digits++;
} else if (Character.isWhitespace(c)) {
spaces++;
} else {
others++;
}
}
System.out.println("英文字母?jìng)€(gè)數(shù): " + letters);
System.out.println("空格個(gè)數(shù): " + spaces);
System.out.println("數(shù)字個(gè)數(shù): " + digits);
System.out.println("其他字符個(gè)數(shù): " + others);
scanner.close();
}
}代碼解釋
導(dǎo)入Scanner類:用于從控制臺(tái)讀取用戶輸入。
創(chuàng)建Scanner對(duì)象:??Scanner scanner = new Scanner(System.in);??
提示用戶輸入:??System.out.println("請(qǐng)輸入一行字符:");??
讀取用戶輸入:??String input = scanner.nextLine();??
初始化計(jì)數(shù)器:
- ?
?int letters = 0;??:用于統(tǒng)計(jì)英文字母的個(gè)數(shù)。 - ?
?int spaces = 0;??:用于統(tǒng)計(jì)空格的個(gè)數(shù)。 - ?
?int digits = 0;??:用于統(tǒng)計(jì)數(shù)字的個(gè)數(shù)。 - ?
?int others = 0;??:用于統(tǒng)計(jì)其他字符的個(gè)數(shù)。
遍歷輸入字符串中的每個(gè)字符:
- 使用?
?for (char c : input.toCharArray())??遍歷每個(gè)字符。 - 使用?
?Character.isLetter(c)??判斷是否為字母。 - 使用?
?Character.isDigit(c)??判斷是否為數(shù)字。 - 使用?
?Character.isWhitespace(c)??判斷是否為空格。 - 如果都不是,則歸類為其他字符。
輸出統(tǒng)計(jì)結(jié)果:
- ?
?System.out.println("英文字母?jìng)€(gè)數(shù): " + letters);?? - ?
?System.out.println("空格個(gè)數(shù): " + spaces);?? - ?
?System.out.println("數(shù)字個(gè)數(shù): " + digits);?? - ?
?System.out.println("其他字符個(gè)數(shù): " + others);??
關(guān)閉Scanner對(duì)象:??scanner.close();??
4.方法補(bǔ)充
這個(gè)程序可以很好地處理用戶輸入的任意字符串,并準(zhǔn)確地統(tǒng)計(jì)出不同類型字符的數(shù)量。希望這個(gè)示例對(duì)你有幫助!當(dāng)然可以!下面是一個(gè)使用Java編寫(xiě)的程序,該程序能夠接收用戶輸入的一行字符,并分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其他字符的數(shù)量。
import java.util.Scanner;
public class CharacterStatistics {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請(qǐng)輸入一行字符:");
String input = scanner.nextLine();
int letters = 0; // 英文字母數(shù)量
int spaces = 0; // 空格數(shù)量
int digits = 0; // 數(shù)字?jǐn)?shù)量
int others = 0; // 其他字符數(shù)量
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (Character.isLetter(c)) {
letters++;
} else if (Character.isDigit(c)) {
digits++;
} else if (Character.isWhitespace(c)) {
spaces++;
} else {
others++;
}
}
System.out.println("英文字母數(shù)量: " + letters);
System.out.println("空格數(shù)量: " + spaces);
System.out.println("數(shù)字?jǐn)?shù)量: " + digits);
System.out.println("其他字符數(shù)量: " + others);
scanner.close();
}
}代碼解釋
導(dǎo)入Scanner類:
import java.util.Scanner;
??Scanner?? 類用于獲取用戶的輸入。
主類和主方法:
public class CharacterStatistics {
public static void main(String[] args) {定義一個(gè)名為 ??CharacterStatistics?? 的類,并在其中定義 ??main?? 方法,這是程序的入口點(diǎn)。
創(chuàng)建Scanner對(duì)象:
Scanner scanner = new Scanner(System.in);
創(chuàng)建一個(gè) ??Scanner?? 對(duì)象,用于讀取用戶的輸入。
提示用戶輸入:
System.out.println("請(qǐng)輸入一行字符:");
String input = scanner.nextLine();提示用戶輸入一行字符,并使用 ??nextLine?? 方法讀取整行輸入。
初始化計(jì)數(shù)器:
int letters = 0; // 英文字母數(shù)量 int spaces = 0; // 空格數(shù)量 int digits = 0; // 數(shù)字?jǐn)?shù)量 int others = 0; // 其他字符數(shù)量
初始化四個(gè)計(jì)數(shù)器,分別用于統(tǒng)計(jì)英文字母、空格、數(shù)字和其他字符的數(shù)量。
遍歷輸入字符串:
for (int i = 0; i < input.length(); i++) {
char c = input.charAt(i);
if (Character.isLetter(c)) {
letters++;
} else if (Character.isDigit(c)) {
digits++;
} else if (Character.isWhitespace(c)) {
spaces++;
} else {
others++;
}
}使用 ??for?? 循環(huán)遍歷輸入字符串的每個(gè)字符。根據(jù)字符的類型(字母、數(shù)字、空格或其他),增加相應(yīng)的計(jì)數(shù)器。
輸出結(jié)果:
System.out.println("英文字母數(shù)量: " + letters);
System.out.println("空格數(shù)量: " + spaces);
System.out.println("數(shù)字?jǐn)?shù)量: " + digits);
System.out.println("其他字符數(shù)量: " + others);
輸出統(tǒng)計(jì)結(jié)果。
關(guān)閉Scanner對(duì)象:
scanner.close();
關(guān)閉 ??Scanner?? 對(duì)象,釋放資源。
這個(gè)程序可以有效地統(tǒng)計(jì)用戶輸入的一行字符中各種類型的字符數(shù)量。
到此這篇關(guān)于Java統(tǒng)計(jì)字符串中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)的文章就介紹到這了,更多相關(guān)Java統(tǒng)計(jì)字符串內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot項(xiàng)目中遇到的BUG問(wèn)題及解決方法
這篇文章主要介紹了SpringBoot項(xiàng)目中遇到的BUG問(wèn)題及解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-11-11
Java程序啟動(dòng)時(shí)初始化數(shù)據(jù)的四種方式
本文主要介紹了Java程序啟動(dòng)時(shí)初始化數(shù)據(jù)的四種方式,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-02-02
Java集合Iterator迭代的實(shí)現(xiàn)方法
這篇文章主要介紹了Java集合Iterator迭代接口的實(shí)現(xiàn)方法,非常不錯(cuò),具有參考借鑒家,對(duì)Java 結(jié)合iterator知識(shí)感興趣的朋友一起看看吧2016-08-08
Spring boot按日切分spring boot的nohup.out日志文件的方法
過(guò)大的日志文件維護(hù)起來(lái)存在諸多問(wèn)題,所以最好是能夠按日或按大小切分日志文件,下面小編給大家?guī)?lái)了Spring boot按日切分spring boot的nohup.out日志文件的方法,一起看看吧2018-08-08
SpringBoot后端解決跨域問(wèn)題的3種方案分享
這篇文章主要給大家分享介紹了關(guān)于SpringBoot后端解決跨域問(wèn)題的3種方案,跨域指的是瀏覽器不能執(zhí)行其他網(wǎng)站的腳本,它是由瀏覽器的同源策略造成的,是瀏覽器施加的安全限制,需要的朋友可以參考下2023-07-07
interrupt()和線程終止方式_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
線程的thread.interrupt()方法是中斷線程,將會(huì)設(shè)置該線程的中斷狀態(tài)位,即設(shè)置為true,中斷的結(jié)果線程是死亡、還是等待新的任務(wù)或是繼續(xù)運(yùn)行至下一步,就取決于這個(gè)程序本身2017-05-05
IntelliJ IDEA 2018 最新激活碼(截止到2018年1月30日)
這篇文章主要介紹了IntelliJ IDEA 2018 最新激活碼(截止到2018年1月30日)的相關(guān)資料,需要的朋友可以參考下2018-01-01
java保證對(duì)象在內(nèi)存中唯一性的實(shí)現(xiàn)方法
這篇文章主要介紹了java如何保證對(duì)象在內(nèi)存中的唯一性,如果創(chuàng)建多個(gè)對(duì)象的話,可能會(huì)引發(fā)出各種各樣的問(wèn)題,這時(shí),就需要我們保證這個(gè)對(duì)象在內(nèi)存中的唯一性,需要的朋友可以參考下2019-06-06

