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

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. LGP5664题解

    厉害. 对于每一列选的数最多占一半,我们得设计一个三维 DP.然而状态刚好够,但是转移明显炸了(而且似乎还需要多项式?) 考虑正难则反,DP 不合法的方案数.总方案数很好算. 发现不合法的方案数只有某 ...

  2. powerful number筛

    心血来潮跑来实现以下这个东西 我们应该知道杜教筛的理论是 \(f * g=h\),那么问题在于如何找 \(g\). 之前的blog应该提到过可以令 \(g(p)=-f(p)\),这样一来 \(h\) ...

  3. linux下oracle数据库的启动

    linux下oracle数据库的启动 一.切换oracle用户 命令:su - oracle 二.运行sqlplus命令,进入sqlplus环境 命令:sqlplus /nolog (nolog参数表 ...

  4. GE PACSystems RX3i 输入验证漏洞

    受影响系统:General Electric CPE100 < R9.85General Electric CPE115 < R9.85General Electric CPE302 &l ...

  5. python程序unix密码破解

    # qianxiao996精心制作 #博客地址:https://blog.csdn.net/qq_36374896 #!/usr/bin/env python #指定这是一个python文件,使用这个 ...

  6. unicode decode error解决办法

    在使用flask编写博客程序时候,遇到了这个错误. 解决办法如下 添加如下代码 from flask import Flask, render_template import sys reload(s ...

  7. VT 入门番外篇——初识 VT

    写在前面   此系列是本人一个字一个字码出来的,包括示例和实验截图.由于系统内核的复杂性,故可能有错误或者不全面的地方,如有错误,欢迎批评指正,本教程将会长期更新. 如有好的建议,欢迎反馈.码字不易, ...

  8. [vmware to openstack] 安装virtio驱动

    描述   从vmware的虚拟机迁移到opensatck,由于vmware虚拟机磁盘类型采用的是scsi,要迁移到opensatck平台运行,发现虚拟机无法起来,原因是vmware虚拟机没有安装vir ...

  9. @Transactional注解的失效场景

    一口气说出 6种,@Transactional注解的失效场景 计算机java编程 发布时间: 20-03-1912:35优质科技领域创作者 引言 昨天公众号粉丝咨询了一个问题,说自己之前面试被问@Tr ...

  10. FiddlerEverywhere注册账号进行激活失效问题

    有关FiddlerEverywhere通过邮件激活账号时,激活链接提示已失效问题:这个链接有进行一个讨论(https://www.telerik.com/forums/unable-to-activa ...