扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
java中随便定义一个数组时,需要先排序之后,然后输出最大最小值,可以使用sort类进行排序,实例如下:
创新互联从2013年成立,是专业互联网技术服务公司,拥有项目成都网站设计、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元嘉鱼做网站,已为上家服务,为嘉鱼各地企业和个人服务,联系电话:028-86922220
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); }}
实现思路就是循环判断找到最大值和最小值,保存起来和其他的值进行比较。代码如下:
public class TestJava4_3
{
public static void main(String args[])
{
int i,min,max;
int A[]={74,48,30,17,62}; // 声明整数数组A,并赋初值
min=max=A[0];
System.out.print("数组A的元素包括:");
int j =0;
int n =0 ;
for(i=0;iA.length;i++)
{
System.out.print(A[i]+" ");
if(A[i]max) // 判断最大值
j =i;
max=A[i];
if(A[i]min) // 判断最小值
min=A[i];
n =i
}
System.out.println("\n数组的最大值是:"+max+".数组的位置是:"+(j+1)); // 输出最大值和最大值的位置
System.out.println("数组的最小值是:"+min+".数组的位置是:"+(n+1)); // 输出最小值
}
}
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class MinMapDemo {
public static void main(String[] args) {
MapInteger, Integer map = new HashMapInteger, Integer();
map.put(1, 8);
map.put(3, 12);
map.put(5, 53);
map.put(123, 33);
map.put(42, 11);
map.put(44, 42);
map.put(15, 3);
System.out.println(getMinKey(map));
System.out.println(getMinValue(map));
}
/**
* 求MapK,V中Key(键)的最小值
* @param map
* @return
*/
public static Object getMinKey(MapInteger, Integer map) {
if (map == null) return null;
SetInteger set = map.keySet();
Object[] obj = set.toArray();
Arrays.sort(obj);
return obj[0];
}
/**
* 求MapK,V中Value(值)的最小值
* @param map
* @return
*/
public static Object getMinValue(MapInteger, Integer map) {
if (map == null) return null;
CollectionInteger c = map.values();
Object[] obj = c.toArray();
Arrays.sort(obj);
return obj[0];
}
}
你好,有两种方法:
第一种:全部输入完之后,比较大小,最大的放一个变量,最小的放一个变量,循环比较大小,最后输出。
第二种:制定两个变量存放最大值和最小值,每次输入都与最大值或者最小值比较,如果达到条件,就更新变量中的值。
以下程序主要是求得数组中的最大值和最小值:
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的初学者仍有一定的借鉴价值。
传统的做法就是for循环, 通过循环比较得到最小值,最大值. 通过累加的和除以个数等于平均值
比较新的做法就是Java8 的流操作. 可以更方便快捷的得到最大,最小和平均值
参考代码如下
import java.util.Arrays;
import java.util.IntSummaryStatistics;
import java.util.stream.Collectors;
public class ArrayDemo {
public static void main(String[] args) {
Integer[] nums= {6,5,7,8};
test1(nums);
System.out.println("----分割线---");
test2(nums);
}
//传统的处理方法
public static void test1(Integer[] nums) {
int max=Integer.MIN_VALUE;
int min=Integer.MAX_VALUE;
int sum=0;
for (Integer num : nums) {
if(nummax) {
max=num;
}
if(nummin) {
min=num;
}
sum+=num;
}
double avg=sum*1.0/nums.length;
System.out.println("最大值:"+max);
System.out.println("最小值:"+min);
System.out.println("平均值:"+avg);
}
//Java8 开始的 stream操作
public static void test2(Integer[] nums) {
IntSummaryStatistics results = Arrays.stream(nums).collect(Collectors.summarizingInt(e-e));
int max=results.getMax();//获取最大值
System.out.println("最大值:"+max);
int min=results.getMin();
System.out.println("最小值:"+min);
double avg=results.getAverage();
System.out.println("平均值:"+avg);
}
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流