大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
java中随便定义一个数组时,需要先排序之后,然后输出最大最小值,可以使用sort类进行排序,实例如下:
成都创新互联成立十载来,这条路我们正越走越好,积累了技术与客户资源,形成了良好的口碑。为客户提供网站设计、成都网站设计、网站策划、网页设计、国际域名空间、网络营销、VI设计、网站改版、漏洞修补等服务。网站是否美观、功能强大、用户体验好、性价比高、打开快等等,这些对于网站建设都非常重要,成都创新互联通过对建站技术性的掌握、对创意设计的研究为客户提供一站式互联网解决方案,携手广大客户,共同发展进步。
public class ArrDemo{ public static void main(String[] args){ new ArrDemo().getPrint(); } private int[] getPrint(){ java.util.Scanner sc = new java.util.Scanner(System.in); try{ System.out.println("请输入数组的个数。"); int[] arr = new int[sc.nextInt()]; for(int i = 0; i arr.length; i++){ System.out.println("请输入第"+(i+1)+"个数。"); arr[i] = sc.nextInt(); } getArr(arr); }catch(Exception e){ System.err.println("对不起,您输入的不是数字。"); } } private void getArr(int[] arr){ int sum = 0; java.util.Arrays.sort(arr); for(int i = 0;i arr.length; i++){ sum += arr[i]; } System.out.println("最大值是:"+arr[arr.length-1]); System.out.println("最小值是:"+arr[0]); System.out.println("和是:"+sum); }}
这里的难点在于记录数字的位置,因此我定义了一个类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
从键盘上输入10个整数,输出最小值的完整的Java程序如下:(不用数组)
import java.util.Scanner;
public class C{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int min=Integer.MAX_VALUE;
System.out.println("请输入10个整数:");
for(int i=0;i10;i++){
int n=sc.nextInt();
if(nmin) min=n;
}
System.out.println("最小值为"+min);
}
}
运行结果:
请输入10个整数:
32 18 49 19 -13 39 391 82 -102 38
最小值为-102
以下程序主要是求得数组中的最大值和最小值:
public class a {public static void main(String args[]) {int a[]={84,40,16,3,10,49,28,76,94,70};int n;int min=a[0];int i;int max=a[0];for(n=0;n=9;n++) {if(maxa[n])max=a[n];}for(i=0;i=9;i++) {if(mina[i])min=a[i];}System.out.print("max="+max);System.out.print("min="+min);} }
该程序输出结果:
数组A的元素包括:74 48 30 17 62数组的最大值是:74数组的最小值是:17
程序说明如下:
第6行声明整数变量i 做为循环控制变量及数组的索引:另外也声明存放最小值的变量min与最大值的变量max。
第7行声明整型数组A,其数组元素有5个,其值分别为74、48、30、17、62。
第9行将min与max的初值设为数组的第一个元素。
第10~18行逐一输出数组里的内容,并判断数组里的最大值与最小值。
第19~20行输出比较后的最大值与最小值。将变量min与max初值设成数组的第一个元素后,再逐一与数组中的各元素相比。比min小,就将该元素的值指定给min存放,使min的内容保持最小;同样的,当该元素比max大时,就将该元素的值指定给max存放,使max的内容保持最大。for循环执行完,也就表示数组中所有的元素都已经比较完毕,此时变量min与max的内容就是最小值与最大值。
本文所述代码为比较基础的示例程序,相信对于Java的初学者仍有一定的借鉴价值。