//每一个小问单独写我会写.但像题目那样把他们综合一起运行该怎么组合啊.定义一个类ArrayClass,满足:
1 构造函数
(1)public ArrayClass(int n)
给定数组的个数,对数组元素逐个进行赋值(要求键盘输入)(2)public ArrayClass(int[] haha)
直接给定数组的元素值(如:new int[]{1,3,4,2})
2 成员函数
(1)public void descent()对数组进行降序排列(从大到小排列)
(2)public void ascent()对数组进行升序排列(从小到大排列)
(3)public int max()返回数组中最大的数
(4)public int min()返回数组中最小的数
(5)public int jicha()返回数组中最大的与最小的元素之差
(6)public void displayInfo()
列举数组中所有的元素(注意结果要用空格分开)
3 成员变量:private int[] array
二 定义一个新的测试类ArrayTest测试ArrayClass类,要求:
1 采用以上1(1)的构造函数定义一个对象
2 采用以上1(2)的构造函数再定义一个对象
3 分别利用以上2(1)—2(5)做相应的操作,利用2(6)显示2(1)—2(2)排序后的结果。
1 构造函数
(1)public ArrayClass(int n)
给定数组的个数,对数组元素逐个进行赋值(要求键盘输入)(2)public ArrayClass(int[] haha)
直接给定数组的元素值(如:new int[]{1,3,4,2})
2 成员函数
(1)public void descent()对数组进行降序排列(从大到小排列)
(2)public void ascent()对数组进行升序排列(从小到大排列)
(3)public int max()返回数组中最大的数
(4)public int min()返回数组中最小的数
(5)public int jicha()返回数组中最大的与最小的元素之差
(6)public void displayInfo()
列举数组中所有的元素(注意结果要用空格分开)
3 成员变量:private int[] array
二 定义一个新的测试类ArrayTest测试ArrayClass类,要求:
1 采用以上1(1)的构造函数定义一个对象
2 采用以上1(2)的构造函数再定义一个对象
3 分别利用以上2(1)—2(5)做相应的操作,利用2(6)显示2(1)—2(2)排序后的结果。
* project_name: Test
* package_name: netsource
* package_declaration: package netsource;
* filename: ArrayClass.java
* author: yuhaiming
* date: 2007-11-9
*/
package netsource;
import java.io.*;
/**
* //每一个小问单独写我会写.但像题目那样把他们综合一起运行该怎么组合啊. 定义一个类ArrayClass,满足:
1 构造函数
(1)public ArrayClass(int n)
给定数组的个数,对数组元素逐个进行赋值(要求键盘输入)
(2)public ArrayClass(int[] haha)
直接给定数组的元素值(如:new int[]{1,3,4,2})
2 成员函数
(1)public void descent()对数组进行降序排列(从大到小排列)
(2)public void ascent()对数组进行升序排列(从小到大排列)
(3)public int max()返回数组中最大的数
(4)public int min()返回数组中最小的数
(5)public int jicha()返回数组中最大的与最小的元素之差
(6)public void displayInfo()
列举数组中所有的元素(注意结果要用空格分开)
3 成员变量:private int[] array
二 定义一个新的测试类ArrayTest测试ArrayClass类,要求:
1 采用以上1(1)的构造函数定义一个对象
2 采用以上1(2)的构造函数再定义一个对象
3 分别利用以上2(1)—2(5)做相应的操作,利用2(6)显示2(1)—2(2)排序后的结果。
* @author yuhaiming
*
*/
public class ArrayClass {
//变量数组
private int[] array;
/**
* 初始化长度为N的数组
* @param n
*/
public ArrayClass(int n){
array = new int[n];
System.out.println("请输入数组值,长度为"+n);
try{
for(int i=0;i<n;i++){
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int inputvalue = Integer.parseInt(reader.readLine());
//System.out.println("输入值:"+inputvalue);
array[i] = inputvalue; }
}catch(Exception e){
e.printStackTrace();
}
//displayInfo();
}
/**
* 给定赋值好了的数组
* @param haha
*/
public ArrayClass(int[] haha){
array = haha;
}
/**
* 对数组进行降序排列(从大到小排列)
*/
public void ascent(){
int temp;
for(int i=0;i<array.length;i++){
for(int j=0;j<array.length-1;j++){
if(array[j]>array[j+1]){
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
}
/**
* 对数组进行降序排列(从大到小排列)
*/
public void descent(){
int temp;
for(int i=0;i<array.length;i++){
for(int j=0;j<array.length-1;j++){
if(array[j]<array[j+1]){
temp = array[j];
array[j] = array[j+1];
array[j+1] = temp;
}
}
}
}
/**
* 取数组最大值
* @return
*/
public int max(){
int maxvalue = array[0];
for(int i=1;i<array.length;i++){
if(maxvalue<array[i]){
maxvalue = array[i];
}
}
return maxvalue;
} /**
* 取数组最大值
* @return
*/
public int min(){
int minvalue = array[0];
for(int i=1;i<array.length;i++){
if(minvalue>array[i]){
minvalue = array[i];
}
}
return minvalue;
}
/**
* 返回数组中最大的与最小的元素之差
* @return
*/
public int jicha(){
int maxvalue = this.max();
int minvalue = this.min();
return (maxvalue-minvalue);
}
/**
* 列举数组中所有的元素(注意结果要用空格分开)
*/
public void displayInfo() {
for(int i=0;i<array.length;i++){
System.out.print(array[i]+" ");
}
System.out.println();
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
ArrayClass arrayClass = new ArrayClass(4);
System.out.println("原有数组序列:");
arrayClass.displayInfo();
arrayClass.descent();
System.out.println("降序排列:");
arrayClass.displayInfo();
arrayClass.ascent();
System.out.println("升序排列:");
arrayClass.displayInfo();
System.out.println("数组最大值:"+arrayClass.max());
System.out.println("数组最小值:"+arrayClass.min());
System.out.println("数组最大值与最小值之差:"+arrayClass.jicha());
}}