import java.io.IOException; 
import java.util.Arrays; 
import junit.framework.TestCase; 
public class TestArray extends TestCase{ 
public void testArray(){ 
int[] x = new int[6]; 
Arrays.fill(x, 1); 
for (int i = 0; i < x.length; i++) { 
try { 
System.in.read(); 
System.out.println(x[i]); 
} catch (IOException e) { 
e.printStackTrace(); 



} 输入1,会输出什么。A、1  B、111  C、111111   D、123456 
答案是B。求详解?

解决方案 »

  1.   

    你输入1回车,相当于输入了3个字符1,回车符,换行符。当程序读完这三个符号后,就再次停止在System.in.read(); 这一行等待用户输入了。所以只输出3个。
    你可以输入ab试试,输出的会是4个1,输入abcd,六个1就能全部输出。
      

  2.   

    windows下的回车符是回车加换行。
      

  3.   

    C啊 你输进去的根本就没人接受  Arrays.fill(x,1);是把1复制给数组里面的每个
      

  4.   

    Arrays.fill( a1, value );
    注:a1是一个数组变量,value是一个a1中元素数据类型的值,作用:填充a1数组中的每个元素都是value
    例如:
    boolean[] a1 = new boolean[5];
    Arrays.fill( a1,true );
    结果 a1[] = {true,true,true,true,true};
      

  5.   

    一开始你将数组的元素都赋值为1。用System.in.read(); 每输入了一次数据,就执行了三次循环。。具体原因还不清楚。期待大神的到来!