2017-10-04 80 views
-5

在編寫計算字符串字符 的代碼時,我遇到了問題。 通常代碼看起來是正確的,但是當我嘗試運行它時,它沒有輸出! 我不知道問題到底在哪裏,希望你能幫我弄明白。沒有輸出計算字符串字符的代碼

下面是代碼:

String S1; 
    char letter=0,number = 0,space=0,Schar=0; 

    System.out.println("Enter the string:"); 
    S1=input.nextLine(); 

    int size=S1.length(); 

    for(int index=0; index<size;index++){ 
    char ch=S1.charAt(index); 

    if(Character.isLetter(ch)){ 
    letter++; 
    }else if(Character.isDigit(ch)){ 
    number++; 
    }else if(ch==' ') 
    space++; 
    else 
    Schar++; 

    } 

    System.out.println("The string is: " +S1); 
    System.out.println("Letter: " +letter); 
    System.out.println("Number: " +number); 
    System.out.println("Space: " +space); 
    System.out.println("Other: " +Schar); 

The output: 

enter image description here

+4

爲什麼你的變量是char而不是int?你正在計數事件。 – Gendarme

回答

0

ASCII table說明你空輸出。映射到第一個整數的字符不可見。第一個可見字符似乎出現在編號爲32。如果你寫了一個更長的字符串,你可能會看到一些輸出。

變化charint和一切應該是固定的,具體如下:

int letter = 0, number = 0, space = 0, Schar = 0; 

這些變量都是爲了計算每個類型的字符的出現的次數,並且因此應該是類型int的,不char