Java数组练习题小结
//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数组练习题小结的更多相关文章
- Java链表练习题小结
链表 链表(Linked List)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的顺序存储数据,而是在每一个节点里存到下一个节点的指针(Pointer).一个链表节点至少包含一个 数据域和 ...
- Java数组声明创建和使用以及多维数组、Arrays类、稀疏数组
目录 数组概述 数组声明创建 内存分析 java内存分析 堆 栈 方法区 三种初始化 静态初始化 动态初始化 数组的默认初始化 数组的四个基本特点 数组边界 小结: 数组使用 数组基础使用 For E ...
- Java 数组
数组对于每一门编程语言来说都是重要的数据结构之一,当然不同语言对数组的实现及处理也不尽相同. Java语言中提供的数组是用来存储固定大小的同类型元素. 你可以声明一个数组变量,如numbers[100 ...
- 第5章 Java数组
1.什么是数组 数组可以想象成一个巨大的盒子,这个盒子里面存放的是同一个数据类型的数据 例如:int[] scores = {78,68,94,93}; 2.如何使用Java中的数组 2.1申明数组 ...
- Java 数组基础
数组 数组(Array):相同类型数据的集合. 定义数组 方式1(推荐,更能表明数组类型) type[] 变量名 = new type[数组中元素的个数]; 比如: int[] a = new int ...
- Java数组及其内存分配
几乎所有的程序设计语言都支持数组.Java也不例外.当我们需要多个类型相同的变量的时候,就考虑定义一个数组.在Java中,数组变量是引用类型的变量,同时因为Java是典型的静态语言,因此它的数组也是静 ...
- [转载]Java数组扩容算法及Java对它的应用
原文链接:http://www.cnblogs.com/gw811/archive/2012/10/07/2714252.html Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组 ...
- Java数组技巧攻略
Java数组技巧攻略 0. 声明一个数组(Declare an array) String[] aArray = new String[5]; String[] bArray = {" ...
- Java数组扩容算法及Java对它的应用
1)Java数组对象的大小是固定不变的,数组对象是不可扩容的.利用数组复制方法可以变通的实现数组扩容.System.arraycopy()可以复制数组.Arrays.copyOf()可以简便的创建数组 ...
随机推荐
- Android studio开多个窗口引起的问题
1.clean 的时候,intermediates删不掉 2.出现:app:compile_DebugJavaWithJavac 没有具体错误 出现以上问题的时候只要把多余的删除,记得只留一个在当前窗 ...
- displayport-2
上一章讲述了display-port的硬件连接,今天来说说协议层 图中可以看到,最底层是物理层,上层是连接服务层,提供的服务包括同步数据传输服务,aux链接服务,aux设备数据传输服务,在设备端也一样 ...
- 【转】mysql中文乱码的一点理解
我们自己鼓捣mysql时,总免不了会遇到这个问题:插入中文字符出现乱码,虽然这是运维先给配好的环境,但是在自己机子上玩的时候咧,总得知道个一二吧,不然以后如何优雅的吹牛B. 如果你也遇到了这个问题,咱 ...
- 网络请求工具--AFNetworking 分类: ios技术 2015-02-03 08:17 76人阅读 评论(0) 收藏
在我们开发过程中,网络请求是必不可少的,对于网络框架,现在主流的大概只有三类:ASI框架: HTTP终结者(已经停止更新了),MKNetworkKit ,AFN.今天我就来浅谈一下这个AFN AFNe ...
- leetcode day7
这道题弄的心好累.. [Reverse Linked List]206 描述: Reverse a singly linked list. click to show more hints. Hin ...
- 统计学常用概念:T检验、F检验、卡方检验、P值、自由度
1,T检验和F检验的由来 一般而言,为了确定从样本(sample)统计结果推论至总体时所犯错的概率,我们会利用统计学家所开发的一些统计方法,进行统计检定. 通过把所得到的统计检定值,与统计学家建立了一 ...
- Jconsole连接远程服务器
本地服务器.win7,安装JDK8 远程服务器:centos6.5 ,tomcat7,java8 配置方法: 1)修改远程服务器的~/tomcat/bin/catalina.sh 文件 在 # -- ...
- input 框上传多个文件
在input标签中加入 multiple 属性,可以在一个输入框中选择多个文件进行上传 <input type="file" name="img" mul ...
- iOS 之 Aggregate Target
工程导航栏>选中工程>菜单File>New>Target>Other>Aggregate
- @dynamic 与 @synthesize
@synthesize是默认选项,表示为属性自动生成getter方法和setter方法 @dynamic 需要在实现文件里注明.例如 @dynamic name:表示用开发者手动动态实现getter和 ...