久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Java怎么計算字符個數

163次閱讀
沒有評論

共計 2572 個字符,預計需要花費 7 分鐘才能閱讀完成。

這篇文章主要講解了“Java 怎么計算字符個數”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“Java 怎么計算字符個數”吧!

1、題目描述

寫出一個程序,接受一個有字母和數字以及空格組成的字符串,和一個字符,然后輸出輸入字符串中含有該字符的個數。不區分大小寫。

輸入描述:

輸入一個有字母和數字以及空格組成的字符串,和一個字符。

輸出描述:

輸出輸入字符串中含有該字符的個數。

輸入例子:

ABCDEF
A

輸出例子:

1

3、代碼方案一

基本思路:定義 String、Char 變量 R11; 通過 getline、cin 輸入變量 R11; 遍歷 String 數組進行比較 R11; 輸出 count。

// 適合任何字符輸入
#include iostream 
#include string 
 
using namespace std;
 
int main(){
 string inputString;
 char inputChar;
 
 getline(cin,inputString);
 //getline 從標準輸入設備上讀入字符,然后返回給輸入流 cin, 這里是將數據綁定到變量 inputString 上面
 cin inputChar;
 //scanf(%c , inputChar);
 // 以上是兩種輸入的方式:cin 和 scanf()
 
 int count=0;
 for(int i=0;i inputString.length();++i){ //for(int i=0;i inputString.length();i++)
 if(inputString[i]==inputChar)
 count++;
 }
 cout count endl;
 return 0;
}

說明:單一字符的輸入方法:cin 和 scanf(),字符串的輸入方法 getline()。

我們也可以采用數組進行統計字符個數:

// 僅適用于字母輸入,了解即可不推薦
#include  stdafx.h 
#include  stdio.h  
#include  math.h  
#include  iostream 
#include  String 
using namespace std;
int main()
 int charNum[26];
 for(int i =0; i  i++)
 charNum[i] = 0;
 string str;
 cout please input a string :  endl;
 getline(cin,str);
 int strLen = str.length();
 for(int i=0; i   strLen; i++)
 char s = str.at(i);
 if(s  =  A    s  =  Z)
 int n = s -  A 
 charNum[n]++;
 else if( s  =  a    s  =  z)
 int n = s -  a 
 charNum[n]++;
 for(int i = 0; i  26; i++)
 char char_A =  A  + i;
 cout  the num of the char : char_A  =  charNum[i] endl;
 system( pause 
 return 0;
}

方案二

基本思路:借助 map 容器存儲 R11; 尋找相等的 keyR11;value 加 1R11; 輸出 value

// 依據下面操作進行改進即可:#include  iostream 
#include  map 
#include  stdio.h 
using namespace std;
int main(){
 map char,int inputString;
 // 這里的輸入 String 作為單一的 char 類型進行存儲
 char inputChar;
 while ((inputChar=getchar())) {
 //getchar 函數的功能是從鍵盤上輸入一個字符, 這里是將輸入的字符綁定到變量 inputChar 上
 if(inputChar== \n)
 // 如果是換行,則持續檢查輸入字符,因為換行是不作為一個字符處理的
 break;
 // 一開始輸入的時候沒有換行,先執行 else 的語句,即把 map 初始化,然后換行輸入待比較的字符,即執行 break 跳出這個 while
 else
 inputString[inputChar]++;
 // 如果對應的 key,即 char 字符相等,則 value 加 1
 // 這里其實就是對 map 進行初始化
 }
 // 以上是通過 inputChar 對 inputString Map 賦值
 cin inputChar;
 // 這里輸入的是字符,而不是字符串
 cout inputString[inputChar] endl;
 // 這里不能區分大小寫字母,即 a 與 A 作為兩個字符處理,需要改進
 return 0;
}

以上程序未區分大小寫,作如下改進:

// 適合任意類型的字符串
#include  iostream  
#include  map  
#include  stdio.h 
// 必須引入這個頭文件,否則 getchar() 會報錯
using namespace std; 
int main() { 
 map char,int words; 
 char ch; 
 while ((ch=getchar())) 
 { 
 if(ch== \n) 
  break; 
  else 
 words[ch]++; 
 } 
 cin ch;
 if((ch = a) (ch = z)) { 
 cout words[ch]+words[ch-32] endl; 
 // 如果是小寫字母,則減去 32 求得大寫字母的數目,輸出二者之和,大小寫字母 ASCII 碼相差 32,且小寫字母數值大
 } 
 else if ((ch = A) (ch = Z)) { 
 cout words[ch]+words[ch+32] endl; 
 } 
 // 這里把大小寫字符當做一個來處理
 else 
 cout words[ch] endl; 
 // 如果不是字母輸入,同樣可以輸出,這樣使得該程序可以適應各種數據類型的字符串
 return 0; 
}

感謝各位的閱讀,以上就是“Java 怎么計算字符個數”的內容了,經過本文的學習后,相信大家對 Java 怎么計算字符個數這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計2572字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 余庆县| 随州市| 永昌县| 永登县| 敖汉旗| 文水县| 新昌县| 西乌珠穆沁旗| 噶尔县| 新乐市| 大邑县| 贵州省| 襄城县| 枝江市| 平罗县| 乌拉特后旗| 珠海市| 临桂县| 昌黎县| 阜宁县| 合江县| 封开县| 始兴县| 衢州市| 明光市| 姚安县| 屏边| 甘谷县| 加查县| 马边| 利川市| 山西省| 井冈山市| 达日县| 资溪县| 且末县| 兴安县| 米泉市| 林周县| 临汾市| 中方县|