Что я пытаюсь сделать, так это то, что у меня есть программа, которая читает число, и это число обозначает количество слов, например:
3
red
blue
green
А затем распечатывает тот же текст, но в обратном порядке, так что это будет
green
blue
red
, за которым следует пустая строка, указывающая серверу, что вы закончили с этой конкретной проблемой. Но у меня, похоже, есть ошибка в моем коде.
Я пытался сохранить слова в массиве List. Я использовал цикл for
, чтобы сохранить их в списке и затем распечатать их в обратном порядке. Я просто использовал другой цикл for, идущий в обратном направлении, начиная с конца списка и заканчивая началом.
Когда я запускаю программу из командной строки, она просто переходит к следующей строке командной строки, как если бы я имел ее для компиляции программы, ошибок нет, но когда я
сделал тест, используя тестовую программу, которую я создал, кажется, что программа читает число, но затем уходит и распечатывает пустой массив.
Казалось бы, слова с сервера не сохраняются в массиве, и я не уверен, что делаю неправильно. Я не лучший программист, поэтому любая помощь будет принята с благодарностью.
Код:
import java.io.*;
import java.util.*;
public class Solution
{
public static void run(BufferedReader in, PrintWriter out)
throws IOException
{
int x = Integer.parseInt(in.readLine());
while(x != 0)
{
ArrayList num = new ArrayList();
for(int i = 0; i < num.size(); i++)
{
//String f = in.readLine();
num.add(in.readLine());
}
//System.out.println(num);
for(int i = num.size()-1; i > 0; i--)
{
out.println(num.get(i));
//x = Integer.parseInt(in.readLine());
System.out.println();
}
break;
}
out.flush();
}
}