ユーザー入力を受け取り、最小値を大量に生成するプログラムを作成しています。10 回の入力の後、ユーザーはセンチネルとして負の数を入力してループを終了できます。問題はこれが機能することですが、何らかの理由でループが番兵の値を配列要素としても取ります。誰が何が悪いのか教えてもらえますか?
public class java {
public static void main(String[] args) {
{
double[] a=new double[10];
Scanner arr=new Scanner(System.in);
System.out.println("Please enter values");
int size = 0;
int x = 0;
while ( x >= 0 )
{
System.out.println("Enter next value");
x = arr.nextInt();
a[size]=x;
size++;
}
System.out.println( "Minimum Value" );
System.out.println((min(a)));
}
}
public static double min( double[] arr )
{
double minimum= arr[0];
for (int i=1; i<arr.length; i++)
{
if (arr[i] < minimum)
{
minimum= arr[i];
}
}
return minimum;
}