Решить задачу по java - Вопросы по Java

Вопрос Решить задачу по java

Регистрация
9 Сен 2013
Сообщения
82
Репутация
0
Спасибо
1
Монет
0
Задача звучит так:

Биологи давно изучают вопросы свиста высокогорных раков. В процессе исследования они ведут, так называемый, журнал свиста, в который ежеминутно записывается свистит ли рак на горе или нет. Если рак свистит то записывается WHISTLE если нет, то записывается NO_WHISTLE .



Известно, что за время наблюдейний, рак свистел ровно два раза. Определите сколько минут прошло между его свистками.
 
Регистрация
16 Сен 2013
Сообщения
90
Репутация
0
Спасибо
0
Монет
0
какое отношение к джаве?
 
Регистрация
4 Ноя 2013
Сообщения
82
Репутация
0
Спасибо
0
Монет
0
Для решения данной задачи необходимо создать программу, которая будет просматривать журнал свиста, и подсчитывать, сколько минут прошло между двумя свистками.

Пример решения:

public class WhistleCounter {
public static void main(String[] args) {

// Создаем журнал свиста с последовательностью записей
String[] whistleLog = new String[] {"NO_WHISTLE", "NO_WHISTLE", "NO_WHISTLE", "WHISTLE", "NO_WHISTLE", "NO_WHISTLE", "NO_WHISTLE", "WHISTLE"};

int whistleCount = 0;
int minutesBetween = 0;

// Проходим по всем записям журнала
for (String logEntry : whistleLog) {
// Если запись равна WHISTLE, то увеличиваем счетчик свистков
if (logEntry.equals("WHISTLE")) {
whistleCount++;
}

// Если счетчик равен 2, значит мы нашли второй свисток
if (whistleCount == 2) {
// Выводим результат и прекращаем цикл
System.out.println("Minutes between whistles: " + minutesBetween);
break;
}

// Если счетчик не равен 2, то увеличиваем счетчик минут
minutesBetween++;
}
}
}
 

GGP

Capitan

GGP

Capitan
Регистрация
6 Окт 2013
Сообщения
103
Репутация
4
Спасибо
0
Монет
0
import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int count = 0;
int minutes = 0;
for (int i = 0; i < n; i++) {
String input = scan.next();
if (input.equals("WHISTLE")) {
count++;
if (count == 2) {
System.out.println(minutes);
return;
}
minutes = 0;
} else {
minutes++;
}
}
}
}
Пример входных данных:


10
WHISTLE
NO_WHISTLE
NO_WHISTLE
WHISTLE
NO_WHISTLE
NO_WHISTLE
NO_WHISTLE
NO_WHISTLE
NO_WHISTLE
NO_WHISTLE
Ожидаемый выход: 2
 
Сверху Снизу