Java数组求最大最小值

Python013

Java数组求最大最小值,第1张

这里的难点在于记录数字的位置,因此我定义了一个类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 = 0i <s.lengthi++) {

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 = 0i <positions.lengthi++) {

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

1、JAVA中限制窗口大小的方法:setMinimumSize()。

2、格式:public void setMinimumSize(Dimension minimumSize)

3、意义:将组件的最小尺寸设置为常量值。对 getMinimumSize 的后续调用总是返回此值。将最小尺寸设置为 null 可还原默认的行为。

4、参数:minimumSize - 组件新的最小尺寸。

方法一:

import java.util.Scanner

public class Main {

public static void main(String[] args) {

double min=0

Scanner input = new Scanner(System.in)

System.out.print("请输入第一个数:")

double n1 = input.nextDouble()

input.nextLine()

System.out.print("请输入第二个数:")

double n2 = input.nextDouble()

input.nextLine()

System.out.print("请输入第三个数:")

double n3 = input.nextDouble()

input.nextLine()

// 补充、、、、、、、、、、、、、、、、

if (n1>n2&&n2>n3 || n2>n1&&n1>n3) {

min=n3

}else if(n1>n3&&n3>n2 || n3>n1&&n1>n2){

min=n2

}else {

min=n1

}

System.out.println("最小值为:"+min)

input.close()//关闭扫描

}

}

方法二:

import java.util.Scanner

public class Main {

public static void main(String[] args) {

double min = 0

Scanner input = new Scanner(System.in)

System.out.print("请输入第一个数:")

double n1 = input.nextDouble()

input.nextLine()

System.out.print("请输入第二个数:")

double n2 = input.nextDouble()

input.nextLine()

System.out.print("请输入第三个数:")

double n3 = input.nextDouble()

input.nextLine()

// 补充、、、、、、、、、、、、、、、、

double[] arr={n1,n2,n3}

System.out.println("最小值是:"+getMin(arr))

input.close()//关闭此扫描器

}

public static double getMin(double[] arr){

int min = 0

for(int x=1 x<arr.length x++){

if(arr[x]<arr[min])

min = x

}

return arr[min]

}

}