需求:对一数组进行排序,取最大值和最小值,并打印
思路:1,用for循环,把角标0的数定义最大值,从角标0开始的数依次和后面的比较,取最大值。
2,排序方法有很多,学到的有选择排序和冒泡排序,选择排序代码较为简单,就用选择排序。从大到小排序,把角标0和角标1比较,较大的放在0坐标上,然后角标0和角标2比较,最后角标0是最大值。
再角标1和角标2比较,依次,最后角标1是剩下的最大值。重复这样。用for循环。
******
*****
****
***
**
*
倒三角类型。
public class ArrayTest
{
public static void main(String[] args)
{
int [] arr={7,5,4,59,3,36,72,2};//定义一个数组。
int max=GetMax(arr);//调用GetMax方法获取最大值。
int min=GetMin(arr);//调用GetMin方法获取最小值。
dayin(arr);//打印排序前数组。
System.out.println("max="+max);//打印最大值
System.out.println("min="+min);//打印最小值
paixu(arr);//调用排序方法,对arr数组排序
dayin(arr);//打印排序后的数组
}
/*
获取一个最大值
*/
public static int GetMax(int [] arr)
{
int max = arr[0];
for (int x=1;x<arr.length ;x++ )
{ if (max<arr[x])
max=arr[x];
}
return max;
}
/**
获取最小值
*/
public static int GetMin(int [] arr)
{
int min = arr[0];
for (int x=1;x<arr.length ;x++ )
{ if (min>arr[x])
min=arr[x];
}
return min;
}
/*
给int数组进行选择排序。
*/
public static void paixu(int [] arr)
{
for (int x =0;x<arr.length-1 ;x++ )
{
for (int y=x+1;y<arr.length ;y++ )
{
if (arr[x]<arr[y] )
{
int kong = arr[x];
arr[x]=arr[y];
arr[y]=kong;
}
}
}
}
/*
打印数组,格式为:[1,2,3,4,... ]
*/
public static void dayin(int [] arr)
{
System.out.print("[");
for (int x=0; x<arr.length;x++ )
{
if (x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.print(arr[x]+"]");
}
System.out.println();
}
}
|
|