重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这里的难点在于记录数字的位置,因此我定义了一个类NumPosition.java,由数字和它的位置组成:
成都创新互联公司专注于和林格尔网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供和林格尔营销型网站建设,和林格尔网站制作、和林格尔网页设计、和林格尔网站官网定制、小程序定制开发服务,打造和林格尔网络公司原创品牌,更为您提供和林格尔网站排名全网营销落地服务。
public class NumPosition {
private int num;
private int position;
public NumPosition(int num, int position) {
this.num = num;
this.position = position;
}
public int getNum() {
return num;
}
public int getPosition() {
return position;
}
}
然后在main函数中,首次遍历求和的时候,记录每一个数字的位置,之后排序后,就可以找到最大值和最小值的位置了:
public class Main {
public static void main(String[] args) {
int[] s = new int[]{3, 5, 2, 6, 54, 8, 9, 1, 4, 11};
NumPosition[] positions = new NumPosition[s.length];
int sum = 0;
for (int i = 0; i s.length; i++) {
sum += s[i];
positions[i] = new NumPosition(s[i], i);
}
System.out.println("一维数组中的数的和为:" + sum);
//jdk自带数组升序排序,也可以搜一下冒泡排序自己实现
Arrays.sort(s);
int min = s[0];//最小值 排序后第一个元素
int max = s[s.length - 1];//最大值 排序后最后一个元素
for (int i = 0; i positions.length; i++) {
if (positions[i].getNum() == min) {
System.out.println("数组中的最小的数为:[" + min + "],其位于数组的第[" + positions[i].getPosition() + "]位置");
}
if (positions[i].getNum() == max) {
System.out.println("数组中的最大的数为:[" + max + "],其位于数组的第[" + positions[i].getPosition() + "]位置");
}
}
}
}
运行结果:
这里位置是从0算起的,如果要从1算起就每个位置加1
public void doAction(ActionEvent e){
前面 加个 }
jl2.setText("The min number of the array is "+minnum);
}
后面的这个 } 删了
//求最小、最大、平均、和\x0d\x0apublic void test(int[] par) {\x0d\x0aint min=par[0],max=par[0],sum=0,ave=0;\x0d\x0afor(int i=0;i