日期:2014-05-20  浏览次数:20732 次

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