В чем дело? Вы хотели бесконечный цикл - вы получили бесконечный цикл. Что не устраивает валидатор?
package com.javarush.task.task16.task1632;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
/*
Клубок
*/
public class Solution {
public static List<Thread> threads = new ArrayList<>(5);
static{
threads.add(new Thread(new Thread1()));
threads.add(new Thread(new Thread2()));
threads.add(new Thread(new Thread3()));
threads.add(new Thread(new Thread4()));
threads.add(new Thread(new Thread5()));
}
public static void main(String[] args) {
}
public static class Thread1 implements Runnable {
@Override
public void run() {
while (true) {}
}
}
public static class Thread2 implements Runnable {
@Override
public void run() {
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
System.out.println("InterruptedException");
}
}
}
public static class Thread3 implements Runnable {
@Override
public void run() {
System.out.println("Ура");
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
public static class Thread4 extends Thread implements Runnable, Message {
@Override
public void run() {
while (!isInterrupted());
}
@Override
public void showWarning() {
Thread.currentThread().interrupt();
}
}
public static class Thread5 implements Runnable {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
@Override
public void run() {
int sum = 0;
String s = null;
try {
s = reader.readLine();
} catch (IOException e) {
e.printStackTrace();
}
while (!(s.equals("N"))){
int i = Integer.parseInt(s);
sum = sum + i;
}
System.out.println(sum);
}
}
}