我有一个作业,我已经写了前两部分,我只是想弄清楚如何找到最小的数字。我应该提到它是在jFrame(gui)中。它应该是这样的:
假设我有一个数字列表(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;
答案 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
语句下方添加它会更新它,您将获得所需的结果。