A. 輸入一串字元,直到輸入一個星號(*)為止,統計(輸出)其中的字母個數和數字字元個數。
樓上的沒有禪扒純判斷輸入的字元串中有否含有其他的字元,如果有的話你的程序就出錯了。如下:Scanner in = new Scanner(System.in);
int iLetterCount = 0; // 字母計數
int iNumCount = 0; // 數字計數
int iSignCount = 0; // 其他符號計數
String str = ""; // 用戶輸入字元此返串System.out.print("輸入一串字元串並且以字元*結束:");
str = in.next();
for (int iFlag=0; str.charAt(iFlag)!='*'; iFlag++ ) {
if (str.charAt(iFlag)>='a'&&str.charAt(iFlag)<='z' || str.charAt(iFlag)>='A'&&str.charAt(iFlag)<='Z') {
iLetterCount++;
} else if (str.charAt(iFlag)>='0'&&str.charAt(iFlag)<='9') {
iNumCount++;
} else iSignCount++; }
System.out.println("字母數為:" + iLetterCount + ",數字數為:" + iNumCount); /賀咐/ 不用輸入其他字元數iSignCount 小高給分吧。
B. java編程統計用戶從鍵盤輸入的字元串中所包含的字母,數字和其他字元的個數。 不要寫的太難,初學者水平!
importjava.util.Scanner;
/**
*統計字元串中數字,字母,空格,其他字元的個數
*@authorAdministrator
*
*/
publicclassData01{
publicstaticvoidmain(String[]args){
intenglishCount=0;//英文字母個數
intspaceCount=0;//空格個數
intnumCount=0;//數字個數
intotherCount=0;//其他字元個數
Scannersc=newScanner(System.in);
System.out.println("請您輸入一行字元:");
Stringstr=sc.nextLine();//取得控制台輸入的一行字元
char[]ch=str.toCharArray();//把取道的字元串變成一個char數組
for(inti=0;i<ch.length;i++){
if(Character.isLetter(ch[i])){
//判斷是否為字母
englishCount++;
}elseif(Character.isSpaceChar(ch[i])){
//判斷是否為空格
spaceCount++;
}elseif(Character.isDigit(ch[i])){
//判斷是否為數字
numCount++;
}else{
//以上都不是則認為是其他字元
otherCount++;
}
}
System.out.println("字母的個數:"+englishCount);
System.out.println("數字的個數:"+numCount);
System.out.println("空格的個數:"+spaceCount);
System.out.println("其他字元的個數:"+otherCount);
}
}
代碼如上
C. java中如何統計一個字元串中符號的個數,請給出方法和思路。謝謝
在Java中統計特定符號的出現次數可以通過遍歷字元串實現。例如,要統計字元串"abcdabcd"中字母"a"出現的次數,可以使用for循環和substring方法。具體代碼如下:
public void isThere(){ String s = "abcdabcd"; int num = 0; for (int i = 0; i < s.length(); i++) { String getS = s.substring(i , i + 1); if(getS.equals("a")){ num ++ ; } } //System.out.println("a出現了" + num + "次); }
這段代碼首先定義了一個字元串s,並初始化一個計數器num為0。然後通過for循環遍歷字元串s中的每一個字元。每次循環中,使用substring方法獲取當前位置的字元,並與"a"進行比較。如果相等,則將計數器num加1。最後,可以輸出"a"出現的次數。
除了直接統計字母"a"出現的次數,還可以統計字元串中其他特定字元的出現次數。例如,統計"b"出現的次數,只需將條件語句中的比較對象從"a"更改為"b"即可。
這種方法適用於統計單個字元在字元串中的出現次數。如果需要統計多個不同字元的出現次數,可以為每個字元創建一個單獨的計數器,或者使用一個Map來存儲每個字元及其對應的出現次數。
例如,要統計字元串"abcdabcd"中"a"和"b"出現的次數,可以使用Map來存儲結果:
public void countChars(){ String s = "abcdabcd"; Map<Character, Integer> charCount = new HashMap<>(); for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if (charCount.containsKey(c)) { charCount.put(c, charCount.get(c) + 1); } else { charCount.put(c, 1); } } // 輸出結果 for (Map.Entry<Character, Integer> entry : charCount.entrySet()) { System.out.println(entry.getKey() + "出現了" + entry.getValue() + "次"); } }
這段代碼使用了一個Map來存儲每個字元及其對應的出現次數。通過遍歷字元串s中的每個字元,使用containsKey方法檢查字元是否已經在Map中存在。如果存在,則將該字元對應的值加1;如果不存在,則將該字元添加到Map中,並設置其值為1。最後,通過遍歷Map來輸出每個字元的出現次數。
這種方法不僅適用於統計單個字元的出現次數,還適用於統計多個不同字元的出現次數。通過這種方式,可以更靈活地統計字元串中符號的出現情況。