当前位置: 代码迷 >> J2SE >> javaSE用数组作为方法的参数解决思路
  详细解决方案

javaSE用数组作为方法的参数解决思路

热度:3066   发布时间:2013-02-25 00:00:00.0
javaSE用数组作为方法的参数
要求:随机产生10个1-1000之间的整数,放在一个数组中,方法定义maxMin();求出其中的最大值和最小值,要求不能使用sort()放法。


提示:产生随机参数的代码:Math.random()*1000;
  定义方法maxMin():
  public void maxMin(int [] nums){......}
写出方法类和测试类!

------解决方案--------------------------------------------------------
你把你考试的代码弄上来嗦,大不了就一个排序,最简单的冒泡总会嘛,要的到一个数组for循环10次Math.random()*1000;不就有了
------解决方案--------------------------------------------------------
Java code
public class Demo {        public static void main(String[] args) {        int[] nums = new int[10];        for(int i = 0; i < 10; i++) {            nums[i] = (int) (Math.random() * 999) + 1;        }        Demo demo = new Demo();        demo.maxMin(nums);        for(int i : nums) {            System.out.print(i + "\t");        }    }        public void maxMin(int[] nums) {        int max = nums[0];        int min = nums[0];        for(int i : nums) {            if(max < i) {                max = i;            }            if(min > i) {                min = i;            }        }        System.out.println("最大致为:" + max + ",最小值为:" + min + ".");    }}
------解决方案--------------------------------------------------------
public class Test{
public static void maxMin(int[] nums) {
int temp = 0;
int i = 0, j = 0;
for (i = 0; i < nums.length; i++) {
for (j = 0; j < nums.length - 1; j++) {
if (nums[j] < nums[j + 1]) {
temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
for (int a : nums) {
System.out.print(a + ",");

}
System.out.println();
System.out.println("************************************");
System.out.println("最大值为:" + nums[0]);
System.out.println("最小值为:" + nums[j]);
}

@SuppressWarnings("null")
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[] = new int[10];
for (int i = 0; i < 10; i++) {
int m = (int) (Math.random() * 1000);
arr[i] = m;
}
Test.maxMin(arr);
}
}

------解决方案--------------------------------------------------------
public class Test{
public static void maxMin(int[] nums) {
int temp = 0;
int i = 0, j = 0;
for (i = 0; i < nums.length; i++) {
for (j = 0; j < nums.length - 1; j++) {
if (nums[j] < nums[j + 1]) {
temp = nums[j];
nums[j] = nums[j + 1];
nums[j + 1] = temp;
}
}
}
for (int a : nums) {
System.out.print(a + ",");

}
System.out.println();
System.out.println("************************************");
System.out.println("最大值为:" + nums[0]);
System.out.println("最小值为:" + nums[j]);
}

@SuppressWarnings("null")
public static void main(String[] args) {
// TODO Auto-generated method stub
int arr[] = new int[10];
for (int i = 0; i < 10; i++) {
int m = (int) (Math.random() * 1000);
arr[i] = m;
}
Test.maxMin(arr);
}
}