//2015/07/07
//Java数组小小练习题
/*
3. 写一个函数,计算一个整数数组的平均值
4. 自定义一个整数数组a,读入一个整数n,如果n 在数组中存在,则输出n 的下标;如果不存在,则输出-1。
5. 给定一个数组,输出数组中的最大值和最小值
6. *给定一个数组,把这个数组中所有元素顺序进行颠倒。
7. *完成数组的冒泡排序算法:给定一个数组:int[] a = {1,3,2,7,5},利用冒泡排序对其按照从小到大的顺序排序,然后输出结果。
8. *使用第二种算法对数组进行排序
注:每一题都被函数封装起来了
*/
package Chp5; public class ArrayTest {
//Three 计算数组的平均值
public void Average(int[] array)
{
System.out.println("第3题");
int len = array.length;
int average = 0;
int sum = 0;
for(int i = 0;i<len;i++)
{
sum+=array[i];
}
average = sum/len;
System.out.println("数组的平均值为:"+average);
} //第四题:自定义一个整数数组a,读入一个整数n
public void IsExit(int[] array,int num)
{
System.out.println("第4题");
int len = array.length;
boolean bl = false;
for(int i = 0;i<len;i++)
{
if(array[i] == num)
{
System.out.println("该数存在于数组中,下标为:"+i);
bl = true;
}
}
if(bl == false)
{
System.out.println(-1);
}
} //5题:求数组中的最大值和最小值
public void GetMaxMin(int[] array)
{
System.out.println("第5题");
int len = array.length;
int temp;
for(int i = 0;i<len;i++)
{
for(int j = 0;j<len-i-1;j++)
{
if(array[j]>array[j+1])
{
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
} System.out.println("数组最大值为:"+array[len-1]);
System.out.println("数组最小值为:"+array[0]); } //第6题:给定一个数组,把这个数组中所有元素顺序进行颠倒。
public void UpDownLocation(int[] array)
{
System.out.println("第6题");
int len = array.length;
int temp = 0;
for(int i = 0;i<len;i++)
{
temp = array[len-1];
array[len-1] = array[i];
array[i] = temp;
len--;
}
} ///////////////////////////
public void PrintArray(int[] array)
{
int len = array.length;
for(int i = 0;i<len;i++)
{
System.out.print(array[i]+" ");
}
System.out.println();
} /////////////////////////// //第7题:按照从小到大的顺序排序,然后输出结果
public void BubbleSort(int[] array)
{
System.out.println("第7题");
int len = array.length;
int temp;
for(int i = 0;i<len;i++)
{
for(int j = 0;j<len-i-1;j++)
{
if(array[j]>array[j+1])
{
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
} //第8题:用第二种算法对数组进行排序
public void MyChoiceSort(int array[])
{
System.out.println("第8题");
int len = array.length;
int temp;
for(int i = 0;i<len;i++)
{
for(int j = i+1;j<len;j++)
{
if(array[i]>array[j])
{
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
} public static void main(String[] args) {
ArrayTest Myarray = new ArrayTest();
////
int[] array ={8,4,6,2,2,6,4,8};
Myarray.Average(array);
////
Myarray.IsExit(array, 5);
///
Myarray.GetMaxMin(array);
///
Myarray.UpDownLocation(array);
Myarray.PrintArray(array);
///
Myarray.BubbleSort(array);
Myarray.PrintArray(array);
///
Myarray.MyChoiceSort(array);
Myarray.PrintArray(array);
}
}

  

Java数组练习题小结的更多相关文章

  1. Java链表练习题小结

    链表 链表(Linked List)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer).一个链表节点至少包含一个 数据域和 ...

  2. Java数组声明创建和使用以及多维数组、Arrays类、稀疏数组

    目录 数组概述 数组声明创建 内存分析 java内存分析 堆 栈 方法区 三种初始化 静态初始化 动态初始化 数组的默认初始化 数组的四个基本特点 数组边界 小结: 数组使用 数组基础使用 For E ...

  3. Java 数组

    数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如numbers[100 ...

  4. 第5章 Java数组

    1.什么是数组 数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据 例如:int[] scores = {78,68,94,93}; 2.如何使用Java中的数组 2.1申明数组 ...

  5. Java 数组基础

    数组 数组(Array):相同类型数据的集合. 定义数组 方式1(推荐,更能表明数组类型) type[] 变量名 = new type[数组中元素的个数]; 比如: int[] a = new int ...

  6. Java数组及其内存分配

    几乎所有的程序设计语言都支持数组.Java也不例外.当我们需要多个类型相同的变量的时候,就考虑定义一个数组.在Java中,数组变量是引用类型的变量,同时因为Java是典型的静态语言,因此它的数组也是静 ...

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

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

  8. Java数组技巧攻略

      Java数组技巧攻略 0.  声明一个数组(Declare an array) String[] aArray = new String[5]; String[] bArray = {" ...

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

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

随机推荐

  1. HDU 3264 Open-air shopping malls ——(二分+圆交)

    纯粹是为了改进牛吃草里的两圆交模板= =. 代码如下: #include <stdio.h> #include <algorithm> #include <string. ...

  2. Asp.Net集群中Session共享

    今天遇到了这个问题,于是研究了一下.要解决这个问题,首先就要明白一些Session的机理.Session在服务器是以散列表形式存在的,我们都知道Session是会话级的,每个用户访问都会生成一个Ses ...

  3. javascript中的__proto__和prototype

    一.2个参考网址: http://icekiller110.iteye.com/blog/1566768 http://www.cnblogs.com/snandy/archive/2012/09/0 ...

  4. python3自动下载优酷视频小程序

    我们一般都在优酷里看一些好玩的视频,有时候看到精彩的就想下载到本地保存起来留作纪念,在win下可以用维棠等软件下载,但苦了用linux的孩子们.尽管chrome和firefox的一些插件可以下载,但有 ...

  5. contextMenu,右键菜单

    <!DOCTYPE html> <html> <head> <title>ContextMenu Event Example</title> ...

  6. iOS 之 二维码生成与扫描(LBXScan)

    参考:https://github.com/MxABC/LBXScan 步骤如下: 1. 下载 通过参考网址进行下载. 2. 导入 导入整个LBXScan文件夹 3. 配置 在pch中加入 #impo ...

  7. 1.1.3.托管对象上下文(Core Data 应用程序实践指南)

    管理托管对象的生命周期(lifecycle).还有其它功能:faulting.变更追踪(change tracking).验证(validation)等. faulting:只把用到的那一部分数据从持 ...

  8. Angular - - angular.element

    angular.element 将DOM元素或者HTML字符串一包装成一个jQuery元素. 格式:angular.element(element); element:包装成jquery对象的html ...

  9. Mysql中各种常见数据库存储引擎对比

  10. Cocos2d-x 多分辨率支持

    最近遇到多分辨率支持问题,所以查了一些资料.将一些收获共享一下,以便自己和其他需要的朋友日后参考. 如果我要建立一个cocos2d-x项目,我的目标是支持iphone3G( 480, 320 ),ip ...