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