-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

これは、Javaで配列を印刷する方法です

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

あなたは実際には何もしていませんnum2、次のようなものが必要です

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

次の行を忘れている可能性があります。

vett[i] = num2;
于 2013-04-09T12:59:52.017 に答える
0

に割り当てnum2ますvet[i]。値を割り当てない場合、デフォルトでは値はゼロです。

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