java找出数组最小值

java如何在数组中取最大值和最小值

以下程序主要是求得数组中的最大值和最小值:

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的初学者仍有一定的借鉴价值。

java找出数组最小值

Java数组求最大最小值

这里的难点在于记录数字的位置,因此我定义了一个类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

java求数组中最大值最小值

java中随便定义一个数组时,需要先排序之后,然后输出最大最小值,可以使用sort类进行排序,实例如下:

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); }}

本文来自投稿,不代表【】观点,发布者:【

本文地址: ,如若转载,请注明出处!

举报投诉邮箱:253000106@qq.com

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024年3月26日 02:41:28
下一篇 2024年3月26日 02:49:40

相关推荐

  • 深入java虚拟机pdf,深入java虚拟机 中村成洋 pdf

    在linux环境下,java怎么实现从word格式转换为pdf格式 //设置当前使用的打印机,我的Adobe Distiller打印机名字为 Adobe PDF wordCom.setProperty( ActivePrinter , new Variant( Adobe PDF ));//设置printout的参数,将word文档打印为postscript…

    2024年5月23日
    4400
  • java截取指定长度字符串,java截取指定字符串之后的

    java中如何截取字符串中的指定一部分 第一个参数是开始截取的字符位置。(从0开始)第二个参数是结束字符的位置+1。(从0开始)indexof函数的作用是查找该字符串中的某个字的位置,并且返回。 int end);截取s中从begin开始至end结束时的字符串,并将其赋值给s;split讲解:java.lang.string.split split 方法 将…

    2024年5月23日
    4200
  • c语言自定义函数数组求和,c语言自定义函数调用数组

    C语言数组怎样求和, 可以通过循环遍历数组中的每个元素,并进行累加。累加的结果可以保存在变量中,需要注意,要保证变量足够保存累加结果,不会出现溢出。 先获取数组长度,然后用for循环,从数组中获取值进行累加求和。 c语言中,定义数组后可以用sizeof命令获得数组的长度(即可容纳元素个数)。但是通过传递数组名参数到子函数中,以获得数组长度是不可行的,因为在子…

    2024年5月23日
    4400
  • java绑定一个端口,java使用端口

    java如何多个service共用一个端口 你如果有多个项目的话,你可以把多个项目放到一个tomcat里面,这样端口相同使用项目名称来进行区分项目。你如果非要使用同一个,你也可以配置不同的域名导向不同的项目。就是访问的域名不同转接到的项目不同。 如果需要同时启动多个程序,要么修改tomcat的配置文件中的监听端口。要么修改jar包程序的监听端口。不能在一台服…

    2024年5月23日
    3400
  • java对数组计算,java数组计算时间复杂度

    Java中数组运算 1、很简单,因为你的数组是局部变量,只在那个声明它的方法里能用,解决办法是: 把它设置为属性; 作为方法的返回值。 2、将它们相加,并将结果存储到result数组中相应的位置。- 最后返回result数组即可。需要注意的是,上面的代码中我们使用了三元运算符 ? : 来判断数组的下标是否越界,如果越界则将值设为0。 3、public sta…

    2024年5月23日
    5000
  • java多线程并发编程基础,Java多线程并发执行返回

    电脑培训分享Java并发编程:核心理论 电脑培训发现本系列会从线程间协调的方式(wait、notify、notifyAll)、Synchronized及Volatile的本质入手,详细解释JDK为我们提供的每种并发工具和底层实现机制。 人们开始意识到了继承的众多缺点,开始努力用聚合代替继承。软件工程解决扩展性的重要原则就是抽象描述,直接使用的工具就是接口。接…

    2024年5月23日
    4600
  • 自学java找工作,自学java找工作需要包装简历吗

    自学java学多久可以找到工作 1、自学Java至少需要一年以上的时间才能达到找工作的水平。报班培训四到六个月的时间就可以找到一份不错的工作。 2、自学Java至少需要一年以上的时间才能达到找工作的水平。 3、如果要想找到一份Java相关的工作,需要至少学习5-6个月时间才能就业。Java开发需要掌握一些基础的编程语言知识,比如掌握面向对象的编程思想、基本的…

    2024年5月23日
    4200
  • java左移右移,java 左移

    java位移问题 1、思路:直接用Integer类的bit运算操作。 2、移位操作:左移:向左移位,符号后面的数字是移了多少位,移的位用0补齐,例如2进制数01111111左移一位后变为11111110,移位是字节操作。 3、Java 位运算 Java 位运算[转]一,Java 位运算表示方法: 在Java语言中,二进制数使用补码表示,最高位为符号位,正数的…

    2024年5月23日
    4100
  • java技术规范,java规范性要求

    现在主流的JAVA技术是什么? java最流行开发技术程序员必看 1 、Git Git一直是世界上最受欢迎的Java工具之一,也是Java开发人员最杰出的工具之一。Git是一个开源工具,是-种出色的分布式版本控制解决方案。 (1).Java基础语法、数组、类与对象、继承与多态、异常、范型、集合、流与文件、反射、枚举、自动装箱和注解。(2).Java面向对象编…

    2024年5月23日
    3900
  • javasocket编程,Java socket编程中,禁用nagle算法的参数

    Java进行并发多连接socket编程 1、Java可利用ServerSocket类对外部客户端提供多个socket接口。基本的做法是先创建一个ServerSocket实例,并绑定一个指定的端口,然后在这个实例上调用accept()方法等待客户端的连接请求。 2、Socket socket=server.accept(0;Thread handleThrea…

    2024年5月23日
    4600

发表回复

登录后才能评论



关注微信