2016-01-16 3 views
-1

Если у меня есть этот код для подсчета определенного слова в файле, и я хочу подсчитать пробелы в строке, как я могу его написать?Как считать пробелы в строке? [JAVA]

Ex. Я хочу считать пробелы в «int a = 0;»

выход: пробельные являются 3.

Большое спасибо.

Мой код:

public static void main(String[] args) throws IOException { 
    Scanner in = new Scanner (new File("/Users/BooMMacbookProRetina/Desktop/C/Resource [Java Sample file]/GradeCal.java")); 

    int c1 = 0, c2 = 0, c3 = 0; 

    String t1 = "int"; 
    String t2 = " "; 
    String t3 = ";"; 

    while (in.hasNext()){ 
     String line = in.nextLine(); 
     line = line.trim(); 
     if (line.length() >0){ 

      int k = -1; 
      while (true){ //Count System 
       k = line.indexOf(t1, k+1); 
       if (k<0) break; 
       c1++; 
      } 
     } 
    } 
    System.out.println("Total number integers are: " +c1); 
    System.out.println("Total number of whitespace in int line are: " +c2); 

} 

файл ресурсов для подсчета: Download from my dropbox

ответ

3

Попробуйте

int a = str.length() - str.replaceAll(" ", "").length(); 

для вашего требования

int whitespaceCount = 0; 

//inside while loop 
if (Character.isWhitespace(text.charAt(i)) { 
     whitespaceCount++ 
    } 
+0

если я Wa nt создать цикл while для подсчета пробелов в строке, как я могу его написать? – Anonymous

+0

'int whitespaceCount = 0; // внутри во время цикла если (Character.isWhitespace (text.charAt (я)) { whitespaceCount ++ } –

+0

Вы имеете в виду в то время как (in.hasNext()) { \t \t \t Строка строка = in.nextLine(); \t \t \t линия = line.trim(); \t \t \t, если (line.length()> 0) { \t \t \t \t \t \t \t \t int k = -1; \t \t \t \t в то время как (истинно) {// \t граф INT \t \t \t \t \t к = line.indexOf (t1, к + 1); \t \t \t \t \t if (k <0) break; \t \t \t \t \t c1 ++; \t \t \t \t} \t \t \t \t в то время как (истинно) { \t \t \t \t \t, если (Character.isWhitespace (text.charAt (я)) { \t \t \t \t whitespaceCount ++; \t \t \t \t} \t \t \t \t} \t \t \t} \t \t} – Anonymous

Смежные вопросы