-2

我已经用 Java 编写了这段代码,该代码将多个整数作为输入,并在数组中插入整数并打印数组。问题是输出打印全0。

public class Array2 {
    private static int i;
    private static int[] vett ;
    private static int num2;
    private static int n;



 public static void main(String[] args) throws IOException{


     InputStreamReader In = new InputStreamReader(System.in); 
     BufferedReader myInput = new BufferedReader(In); 
     String stringa = new String();

     String s="";

     System.out.println("Enter the number of integers:");
     n = Integer.parseInt(myInput.readLine());  

      vett=new int[n];

              for(i=0;i<n;i++){
                  System.out.println("Insert integer:");
                  num2 = Integer.parseInt(myInput.readLine());  
                  s=s+vett[i]+" ";

        }  
               System.out.println(s);

 }



 }

跑:

Enter the number of integers:
2
Insert integer:
1
Insert integer:
2
0 0 
4

7 回答 7

2

您没有将num2变量存储到数组中。

尝试

vett[i] = num2;

num2从输入流中读取值之后。

顺便说一句,要简单地打印数组以检查其内容,您可以使用

System.out.println(java.util.Arrays.toString(vett));

您不需要使用单独的字符串来跟踪数组内容。

于 2013-04-09T12:59:44.127 回答
2

您忘记将数字实际放入数组中:

for(i=0;i<n;i++){
   System.out.println("Insert integer:");
   num2 = Integer.parseInt(myInput.readLine());  
   vett[i] = num2;    // <-- this line here
   s=s+vett[i]+" ";   // and just an info: this is the same as s+=vett[i]+" ";
 }  
于 2013-04-09T13:01:32.030 回答
1

你实际上并没有做任何事情num2,你需要类似的东西

vett[i] = num2;
于 2013-04-09T12:59:45.627 回答
1

也许您忘记了以下行:

vett[i] = num2;
于 2013-04-09T12:59:52.017 回答
1

这就是在 Java 中打印数组的方式

System.out.println(Arrays.toString(array)); // where array is vett[i]
于 2013-04-09T13:02:41.220 回答
0

分配num2vet[i]。默认情况下,如果您不指定值,则它的值为零。

vett[i] = num2;
s=s+vett[i]+" ";
于 2013-04-09T13:05:15.320 回答
0

你实际上并没有用 num2 做任何事情,你需要类似的东西

vett[i] = num2;

您可以使用此语句打印它

   `System.out.println(Arrays.toString(array));` 

// 其中数组是 vett[i]

于 2017-08-27T04:18:57.747 回答