求数值型数组中元素的最大值、最小值、平均值、总值等

package com.mxf.test;
/*
* 题目:定义一个int型的一维数组,包含10个元素,赋值一些随机整数(两位数)
* 求出所有元素的最大值、最小值、和值、平均值并输出
*/
public class Test4 {
public static void main(String[] args) {
int[] arr = new int[10];
//2位数:10~99 99-10+1=90,+10
for(int i=0;i<arr.length;i++) {
arr[i] = (int)(Math.random()*90)+10;
}
for(int i=0;i<arr.length;i++) {
System.out.print(arr[i]+"\t");
}
System.out.println();
//求数组元素的最大值
int max = arr[0];
for(int i=0;i<arr.length;i++) {
if(max<arr[i]) {
max = arr[i];
}
}
System.out.println("最大值为:"+max);
//求数组元素的最小值
int min = arr[0];
for(int i=0;i<arr.length;i++) {
if(min>arr[i]) {
min = arr[i];
}
}
System.out.println("最小值为:"+min);
//求数组元素的总和
int sum = 0;
double average = 0;
for(int i=0;i<arr.length;i++) {
sum += arr[i];
}
//求数组元素的平均值
average = (sum+0.0)/arr.length;
System.out.println("和值为:"+sum);
System.out.println("平均值为:"+average); } }

数组的复制、反转、查找(线性查找、二分法查找)

//1. 数组的复制,注意区分于数组之间的赋值(地址值)
public class Test5 {
public static void main(String[] args) {
int[] array1 = new int[] {2,3,5,7,11,13,17,19};
int[] array2 ;
array2 = new int[array1.length];
for(int i=0;i<array2.length;i++) {
array2[i]=array1[i];
}
//遍历
for(int i=0;i<array1.length;i++) {
System.out.print(array1[i]+" ");
}
System.out.println();
}
}
//2. 数组的反转
for(int i=0;i<array1.length/2;i++) {
int num = array1[i];
array1[i] = array1[array1.length-i-1];
array1[array1.length-i-1] = num;
}
//3.数组的查找
//3.1线性查找
int dest = 11;
boolean flag = true;
for(int i=0;i<array1.length;i++) {
if(array1[i]==dest) {
System.out.println("找到了指定的元素,位置为:"+i);
flag = false;
break;
}
}
if(flag) {
System.out.println("很抱歉,没有找到哦!");} //3.2二分法查找(熟悉——后续有现成的结构)前提:所要查找的数组必须有序【挺像数学中的二分法找最大值的】
//2,3,5,7,11,13,17,19
int dest1 = 17;
int head = 0;
int end = array1.length-1;
boolean isFlag = true;
while(head<=end) {
int mid = (head+end)/2;
if(dest1==array1[mid]) {
System.out.println("找到了指定的元素,位置为:"+mid);
isFlag = false;
break;
}else if(dest1>array1[mid]) {
head = mid+1;
}else {
end = mid-1;
}
}
if(isFlag) {
System.out.println("很抱歉,没有找到哦!");
}

Java数组的常见算法2的更多相关文章

  1. java 基本语法(十一) 数组(四)数组的常见算法

    1.数组的创建与元素赋值: 杨辉三角(二维数组).回形数(二维数组).6个数,1-30之间随机生成且不重复. 杨辉三角 public class YHSJ { public static void m ...

  2. Java数组的排序算法

    在Java中,实现数组的排序算法有很多,如冒泡排序法.选择排序法.直接插入法和快速排序法等.下面介绍几种排序算法的具体 实现. 本文引用文献:Java必须知道的300个问题. 1.冒泡排序法 1.1 ...

  3. 常见算法合集[java源码+持续更新中...]

    一.引子 本文搜集从各种资源上搜集高频面试算法,慢慢填充...每个算法都亲测可运行,原理有注释.Talk is cheap,show me the code! 走你~ 二.常见算法 2.1 判断单向链 ...

  4. [转载]Java数组扩容算法及Java对它的应用

    原文链接:http://www.cnblogs.com/gw811/archive/2012/10/07/2714252.html Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组 ...

  5. Java数组扩容算法及Java对它的应用

    1)Java数组对象的大小是固定不变的,数组对象是不可扩容的.利用数组复制方法可以变通的实现数组扩容.System.arraycopy()可以复制数组.Arrays.copyOf()可以简便的创建数组 ...

  6. Java数组的一些基本算法

    数组的一些算法问题:  排序:(升序)   选择排序:     求每一轮的最小值:再输出   冒泡排序:     相邻的两个数相比较,把两个数相比较,第一个大于好面的就交换位置   shell排序: ...

  7. java se系列(四) 函数、数组、排序算法、二分法、二维数组

    1 函数 1.1  数的概述 发现不断进行加法运算,为了提高代码的复用性,就把该功能独立封装成一段独立的小程序,当下次需要执行加法运算的时候,就可以直接调用这个段小程序即可,那么这种封装形形式的具体表 ...

  8. Java开发知识之Java数组

    Java开发知识之Java数组 一丶数组简介 首先,不管是Java 还是 C++ 还是其它语言.都有数组. (有可能叫法不同) 数组简而言之就是存储一段连续相同数据类型的数据结构 在Java中数组可以 ...

  9. 第3章 Java数组(上): 一维数组和二维数组

    3.数组及排序算法(2天) 3.1 数组的概述 2课时 3.2 一维数组的使用 3课时 3.3 多维数组的使用 3课时 3.4 数组中涉及到的常见算法 3课时 3.5 Arrays工具类的使用 3课时 ...

随机推荐

  1. 《shader入门精要》13.2再谈运动模糊中片元着色器的世界坐标的计算

    具体在书p275页 这里为啥需要除D.w呢. 首先我们得到的NDC的坐标是已经归一化的,但是CurrenViewProjectionMatrix的作用,是把世界空间转化为尚未归一化的裁剪空间. 这里看 ...

  2. Python可变参数*args和**kwargs

    本文我们将通过示例了解 Python函数的可变参数*args和 **kwargs的用法. 知识预备:Python 函数和 Python 函数参数 在Python编程中,我们定义一个函数来生成执行类似操 ...

  3. ansible 三配置和命令集

    一.Ansible配置 Ansible安装好之后的配置文件有如下两种: 1.yum安装,配置文件默认路径为: /etc/ansible/ansible.cfg 2.源码包安装,配置文件路径需要从软件包 ...

  4. unittest+HtmlTestRunner+python接口自动化测试:用例失败发送邮件

    一点啰嗦:发送邮件python中有另一个支持的第三方库yagmail更轻量级,代码参考可移步至此:https://www.cnblogs.com/princessironfan/p/13220601. ...

  5. java高级用法之:无所不能的java,本地方法调用实况

    目录 简介 JDK的本地方法 自定义native方法 总结 简介 相信每个程序员都有一个成为C++大师的梦想,毕竟C++程序员处于程序员鄙视链的顶端,他可以俯视任何其他语言的程序员. 但事实情况是,无 ...

  6. Spring Boot整合Redis-转载

    Spring Boot整合Redis的三中方式的博客: https://wangsong.blog.csdn.net/article/details/103210490 使用spring.cache. ...

  7. corn计划周期任务

                                                                             corn计划任务 1.计划任务有四种方式   cron ...

  8. 通过DP总线实现S7-300/400与SINAMICS S120 通讯

    一.DP总线通讯功能概述 S7-300/400与SINAMICS S120 之间通过DP总线可进行周期性及非周期性数据通讯. 使用标准S7功能块SFC14/SFC15,S7-300/400PLC通过P ...

  9. STM32控制永磁同步电机 | FOC电机控制算法概述

    1. FOC基本概念 参考:https://www.sohu.com/a/432103720_120929980 FOC(field-oriented control)为磁场导向控制,又称为矢量控制( ...

  10. [bzoj2878][Noi2012]迷失游乐园(基环树dp)

    [bzoj2878][Noi2012]迷失游乐园(基环树dp) bzoj luogu 题意:一颗数或是基环树,随机从某个点开始一直走,不走已经到过的点,求无路可走时的路径长期望. 对于一棵树: 用两个 ...