2016-01-30 2 views
0

ПроблемаИспользуя время цикла для подсчета экземпляров в строке в Java

Сколько экземпляров определенного символа есть между началом строки и точкой разрыва?

Точка останова - это первый экземпляр другого персонажа.

Например, моя строка может быть

ч я, мне нужно ч ELP! с этой проблемой!

, и я хочу использовать время цикла сосчитать h сек от начала до !, поэтому выход будет 2.

Я чрезвычайно новичок в java, поэтому я знаю, как использовать цикл while для подсчета до определенного числа, но я не знаю, как сломать или как попросить его подсчитать только определенный символ. Любой намек в правильном направлении был бы замечательным.

Моя идея заключается в том, чтобы сделать что-то вроде:

while(character equals 'h', count) 
else(don't count) 
break if(character equals !) 
print 

Но я не знаю, как перевести это на Java

+0

Y наша идея звучит правильно. Попробуй. Прочитайте руководства о циклах, условностях и переменных. –

+1

Сначала вы должны выполнить свою домашнюю работу. Это просто. –

ответ

2

Вот краткий фрагмент кода:

/** 
* Method Name: countChars 
* Arguments: 4 (Original String, Character to be found, Start Index, 
*    Stop/Terminate Character) 
* Returns: Character Count 
**/ 
public int countChars(String str, char c, int start, char e) { 
    char[] chr = str.toCharArray(); 
    /* Initialize Count Counter */ 
    int count = 0; 

    /* Initialize Counter With Start Index */ 
    int i = start; 
    /* Iterate String For Positive Matches */ 
    while(i < chr.length) { 
      /* Core Logic */ 
      if(chr[i] == e) { 
       /* Terminate Character Found : Break Loop */ 
       break; 
      } else if(chr[i] == c) { 
       /* Match Found : Increment The Counter */ 
       count++; 
      } 
      /* Increment Loop Counter */ 
      ++i; 
    } 

    /* Return Character Count */ 
    return count; 
} 

Вы может вызвать этот метод следующим образом:

+2

Сдача кода без объяснений не полезна для новичка. Пожалуйста, объясните, что вы делаете в этом коде. –

+0

Кроме того, я не думаю, что это вполне делает то, что задается - оно должно перейти к первому экземпляру «другого персонажа», но не в определенном диапазоне. –

+0

@ Энди Спасибо за ваш ответ. Добавлено Комментарии и Изменено условие завершения. – user2004685

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