Java 一种我能';似乎找不到

Java 一种我能';似乎找不到,java,Java,我想做的是我有一个程序,它读取一个数字,这个数字表示有多少个单词,例如: 3 red blue green 然后以相反的顺序打印出相同的文本 green blue red 然后是一个空行,向服务器指示您已解决该特定问题。但我的代码中似乎有个bug 我试图将单词存储在数组列表中。我使用了一个for循环将它们存储在列表中,然后以相反的顺序打印出来。我只是使用了另一个for循环,从列表的末尾到开头 当我从命令提示符运行程序时,它只会转到下一个命令提示符行,就好像我必须编译程序一样,没有错误

我想做的是我有一个程序,它读取一个数字,这个数字表示有多少个单词,例如:

3 
red 
blue
green
然后以相反的顺序打印出相同的文本

green 
blue 
red
然后是一个空行,向服务器指示您已解决该特定问题。但我的代码中似乎有个bug

我试图将单词存储在数组列表中。我使用了一个
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();
    }
}
import java.io.*;
导入java.util.*;
公共类解决方案
{
公共静态无效运行(BufferedReader输入,PrintWriter输出)
抛出IOException
{
intx=Integer.parseInt(in.readLine());
而(x!=0)
{
ArrayList num=新的ArrayList();
对于(int i=0;i0;i--)
{
out.println(num.get(i));
//x=Integer.parseInt(in.readLine());
System.out.println();
}
打破
}
out.flush();
}
}
while循环从不停止

编辑:哦,不,这不是真的,但是有一个只运行一次的while循环有什么意义呢?你在它的末尾加了一个中断,也许你可以把它重构成一个if?也许是一个守卫?

ArrayList num=new ArrayList();
ArrayList num  = new ArrayList();

for(int i = 0; i < num.size(); i++)
对于(int i=0;i
表示从0到。。。0!

for(int i = 0; i < x; i++)
for(int i=0;i

会更好。

这里num的大小是0。您应该使用“x”而不是num.size()

for(int i=0;i
这可能与您所做的不完全相同。。有点不同…-)

intx=Integer.parseInt(in.readLine());
字符串[]arr=新字符串[x];//编辑::心不在焉-谢谢Pgras
对于(int i=0;i=0;i--){//按相反顺序显示单词
系统输出打印项数(arr[i]);
}

这是您的全部代码吗?
main
在哪里?
        for(int i = 0; i < num.size(); i++)
        {
            //String f = in.readLine();
            num.add(in.readLine());

        }
int x = Integer.parseInt(in.readLine());   
 String[] arr = new String[x]; // Edited :: Slip of mind - Thanks Pgras    
 for(int i=0;i<x;i++){ //input x number of words and store..
arr[i] = in.readLine();
}

for(i=x-1;i>=0;i--){ //Display words in reverse order
System.out.println(arr[i]);
}