3

課題があり、最初の 2 つの部分は既に書いていますが、最小数を見つける方法がわかりません。jFrame(gui)にあることに言及する必要があります。次のようになります。

ここに画像の説明を入力

数字のリスト (10 5 8 7 4 9) があり、数字の 7 がどの位置にあるかを知りたいとします。私は過去1時間これにこだわっています。:/これが私がこれまでに持っているものです:

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;
4

1 に答える 1

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 番目の要素をint minValue = Integer.MAX_VALUE;決して変更しない要素と比較しています。

ステートメントの下に追加するifと更新され、目的の結果が得られます。

于 2013-04-15T20:44:47.313 に答える