int num = reader.nextInt();不会读取命令行中的回车。所以 color[0]=reader.nextLine(); 读取的是输入的整数后面的回车(即"")。解决方法:可以在int num = reader.nextInt();后面增加一行:reader.nextLine();//读取掉输入的整数后面的回车。