не пропускает решение по п.4 с указанием, что класс должен имплементировать интерфейс Message при этом при попытке полностью скопировать правильное решение так же не пропускает с таким же комментарием, даже если делать статический класс внутри класса солюшон. как починить валидатор?
п.6
public class MessageStop extends Thread implements Message {
@Override
public void showWarning() {
interrupt(); // this.interrupt() тоже не проходит
}
public void run(){
while(!this.isInterrupted()) { //(!interrupted()) не проходит
}
}
}
п.7
public class ReadNoN extends Thread {
public void run() {
String read = "";
try(BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
read = reader.readLine();
int i = 0;
while (!read.equals("N")) {
if (read.matches("\\d")) {
i += Integer.parseInt(read);
}
read = reader.readLine();
}
System.out.println(i);
} catch (IOException e) {
}
}
}
К сожалению не дает прикрепить код решения задачи, с комментарием "Вы не можете прикрепить к вопросу код решения вашей задачи, так как задача уже решена. Публиковать правильные решения запрещено!" но задача не принята )) ни в идее ни на сайте.
Еще один вариант, в этом варианте кода п.6 в статическом классе:
public class Solution {
public static List<Thread> threads = new ArrayList<>(5);
static {
threads.add(new Thread(new Forever()));
threads.add(new Thread(new ExceptionThread()));
threads.add(new Thread(new SayYra()));
threads.add(new Thread(new MessageStop()));
threads.add(new Thread(new ReadNoN()));
}
public static void main(String[] args) {
}
public static class MessageStop extends Thread implements Message {
public void run() {
while (!isInterrupted()) {
}
}
@Override
public void showWarning() {
this.interrupt();
}
}
}
Pingvin#2873067
28 уровень
Не проходит решение по 6 и 7 пунктам
Обсуждается
Комментарии (4)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Leonid Haze
6 сентября 2025, 13:38
Для п4.
Возможно вводит в заблуждение формулировки, там сказано что поток должен закончится (как то так вроде), а не прерваться. поэтому попробуй завести boolean переменную в классе MessageStop, пусть она будет true, в методе run сделай цикл с условием что он выполняется, пока переменная true, а в методе showWarning сделай ее false и run закончит свою работу выйдя из цикла. Плохо помню, но возможно еще придется использовать if с this.isAlive() в методе с showWarning, чтобы определить, живой ли еще поток у тебя.
0
Pingvin#2873067
7 сентября 2025, 04:34
делала так, все равно не проходит ((
0
hidden #3303140
6 сентября 2025, 13:22
Задачу прикрепи полностью с условием и всем решением
0
Pingvin#2873067
7 сентября 2025, 04:39
не дает прикрепить, дописала код из класса Solutoin в котором создаются и добавляются в список нити, может тут ошибка, и попытка вынести п.6 в статический класс внутри класса Solution.
0