乘以最小数字和最小数字的位置

时间:2013-04-15 20:41:18

标签: java

我有一个作业,我已经写了前两部分,我只是想弄清楚如何找到最小的数字。我应该提到它是在jFrame(gui)中。它应该是这样的:

enter image description here

假设我有一个数字列表(10 5 8 7 4 9),我想知道数字7的位置。我该怎么做?我在最后一小时一直坚持这一点。 :/ 这是我到目前为止所拥有的:

private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
    String s = jTextField1.getText();
    String[]divide = s.split(" ");
    int[] number = new int[10];
    int sum = 1;
    for(int i = 0; i<10; i++)
    {
        number[i] = Integer.parseInt(divide[i]);
        sum = sum * number[i];
    }
    jTextField2.setText(Integer.toString(sum));
}                                        

private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
   String s = jTextField1.getText();
    String[]divide = s.split(" ");
    Arrays.sort(divide);
    jTextField3.setText(divide[0]);
}                                        

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {                                         


    public static int findMin(ArrayList<Integer> n)
{
int minValue = Integer.MAX_VALUE; 
int minIndex = -1;
for(int i = 0; i < n.size(); i++){
    if(n.get(i) < minValue){
        minIndex = i;
    }
}
return minIndex;

1 个答案:

答案 0 :(得分:3)

当您找到最小值的索引时,您应该更新minValue

public static int findMin(ArrayList<Integer> n) {
    for(int i = 0; i < n.size(); i++){
        if(n.get(i) < minValue){
            minIndex = i;
            minValue = n.get(i);   //Update here
        }
    }
    return minIndex;
}

您的代码始终将 i-th 元素与您永远不会更改的int minValue = Integer.MAX_VALUE;进行比较。

if语句下方添加它会更新它,您将获得所需的结果。