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