如何在for循环中使用数组来计算最小值?

时间:2012-11-13 06:27:00

标签: java arrays for-loop

我正在尝试使用数组,但我不确定这是否是正确的方法。

我希望第一个和第二个整数输入相互比较,然后如果有更多它们相互比较。

所以这是代码片段。

for(int ii = 1, j = 0; j <= copySel ; ii++, j++) {     
             int x = 0;
             int[x] check;
                // Prompt as follows
                System.out.print("Enter value " + ii + ": ");
                try {
                    c = Get();
                }
                catch (InputMismatchException e) {
                    // Display the following text in the event of an invalid input
                    System.out.println("Invalid input!");
                    ii--; x--;
                } check = c; x++;    

                System.out.print(check + " "+ x);
        }

我的实际格式不是那么糟糕。我需要尝试根据用户输入的整数来找到最小值

static int Get()
    {
        Scanner intFind = new Scanner(System.in);
        int select;
        select = intFind.nextInt();
        return select;
    }

这是Get()^

我不能连续使用min(x,y)?

5 个答案:

答案 0 :(得分:2)

int min=a[0];

for(int i=1;i<n;i++)
{
    if(a[i] < min) 
         min = a[i];
}

System.out.println("The min is "+min);

答案 1 :(得分:1)

 System.out.print("Enter value " + ii + ": ");
 int min = Get();
 int c = 0;
 for(int ii = 1, j = 0; j < copySel ; ii++, j++) { 

            // Prompt as follows
            System.out.print("Enter value " + ii + ": ");
            try {
                c = Get();
            }
            catch (InputMismatchException e) {
                // Display the following text in the event of an invalid input
                System.out.println("Invalid input!");
                ii--;
            } min = Math.min(min, c);   

            System.out.print("minimum is:"+ min);
    }

答案 2 :(得分:0)

我没有得到你想要做的事情,但是你可能会考虑修复这些错误。 如果check是一个数组,你必须按原样初始化它:

int[] check;

get()给你回一个整数数组,如果是这样你不能使check = c,你必须将c的内容复制或克隆到check中:

check = (int[])c.clone();

希望这有帮助,如果你能澄清你的最终目标,你可以得到一个更明确的答案。

答案 3 :(得分:0)

如果你有一个整数数组,你可以这样做

  Integer [] arr = {5,2,3,4,5,6,7,8};
  List<Integer> list = new ArrayList<Integer>(Arrays.asList(arr));
  Collections.sort(list);
  System.out.println("Minimum "+list.get(0)); ;

答案 4 :(得分:0)

 Scanner in = new Scanner(System.in);
 System.out.println("Enter the integers: ");
 String s = in.nextLine();
 string[] str = s.plit(" ");
 int[] a = new a[str.length];
 for(int i =0; i< str.length; i++)
 {
     a[i] = Integer.parseInt(str[i]);
 }
 //Madar's code
 int min=a[0];

for(int i=0;i<a.length;i++)
{
    min = Math.min(a[i], min);
}

System.out.println("The min is "+min);