数组排序,并求出最小值和最大值
//数组排序,并求出最小值和最大值
import java.io.*;
public class array2{
//主程序
public static void main(String[] args)
{
//定义数组长度
int len=0;
String s;//字符串用于存放键盘输入的数组长度
try{ System.out.print("输入数组的长度:");
//通过缓冲区的键盘读入,每行读入
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
s=br.readLine();
//将数组长度以整型显示
len=Integer.parseInt(s);
}
catch(IOException e){}
//定义一个整型数组
int a[]=new int [len];
//用两种方法实现键盘的输入
for (int i=0;i<len;i++)
{ String cc="";int c=0;
/* 法一:利用缓冲区读入
try{
System.out.print("请输入第"+(i+1)+"个元素");
BufferedReader c=new BufferedReader(new InputStreamReader(System.in));
cc=c.readLine();
// System.out.println(cc);
a[i]=Integer.parseInt(cc);
}
*/
//法二:利用系统的read方法
try{
System.out.print("请输入第"+(i+1)+"个元素");
while(c!=13)
{c=System.in.read();
cc=cc+(char)c;
}
a[i]=Integer.parseInt(cc.trim());
}
catch(IOException e){}
}
for (int i=0;i<len;i++)
{System.out.print("第"+(i+1)+"个元素为"+a[i]);}
//主类分别调用对应的方法
array2.排序(a);
array2.最小值(a);
array2.最大值(a);
}
//排序实现.注意:这里的排序方法用的是 static 修饰,即为类方法,可以用类名调用
static void 排序(int b[])
{
//将数组的长度赋值给 n
int n=b.length;
//定义一个临时变量
int temp;
//利用双重循环冒泡法实现数组排序
for (int i=0;i<n-1;i++)
{for (int j=i+1;j<n;j++)
{if (b[i]>b[j])
{temp=b[j];
b[j]=b[i];
b[i]=temp;
}
}
}
System.out.println("\n"+"结果为"+"\n");
//将排序的结果打印出来
for (int i=0;i<n;i++)
{System.out.print("第"+(i+1)+"个元素为"+b[i]+"\n");}
}
//求出最小值
static void 最小值(int b[])
{
//将数组的长度赋值给 n
int n=b.length;
//定义一个变量用于最小值
int min=b[0];
//利用一个循环,依次比较,将较小值存放到min中
for (int i=1;i<n;i++)
{
if (b[i]<min)
{min=b[i];}
}
System.out.println("最小值为"+min);
}
//求出最大值
static void 最大值(int b[])
{
//将数组的长度赋值给 n
int n=b.length;
//定义一个变量用于最大值
int max=b[0];
//利用一个循环,依次比较,将较小值存放到max中
for (int i=1;i<n;i++)
{
if (b[i]>max)
{max=b[i];}
}
System.out.println("最大值为"+max);
}
}