import java.awt.geom.Area;
import java.util.Random;//获取数组中的元素值最大的元素,具体要求如下:
//定义int[] getArr()静态方法,方法内要求:随机获取4个1-9之间(包含1和9)的整数,并存放在int数组arr中返回
//定义main方法,方法内完成:
//1. 调用getArr()方法获取int数组arr;
//2. 获取arr中元素值最大的元素max;
//3. 获取arr中元素值最大的元素个数count;
//4. 在控制台打印输出max和count的值
public class day6_2 { public static void main(String[] args) {
int[] arr =getArr();
System.out.println("最大值"+arr[0]+"出现了"+arr[1]+"次");
}

public static int[] getArr(){
//定义数组
int[] arr = new int[4];
//导入随机包
Random r =new Random(9+1);
//定义接收最大值
int max = 0 ;
//最大值计数器
int con = 0 ;
 //随机数给数组赋值
 for(int i = 0; i < arr.length; i++){
//随机产生随机数
 int rr = r.nextInt();
//循环赋值
arr[i]=rr;
//作比较,找到数组最大的元素
if(arr[i] > max){
max = arr[i];
}
 }
// 寻找最大值出现的次数
 for(int i = 0 ; i < arr.length ; i++){
 if(max==arr[i]){
 con++;
 }
 }
int[] arr1 = new int[2];
arr1[0]=max;
arr1[1]=con;
return arr1;

}
}

解决方案 »

  1.   

    建议你看看random的API,
    Random r =new Random(9+1);
    这一行中的(9+1)并不是用来控制获取随机数的范围.
    这是改好的代码:
    package ss;
    import java.util.*;
    public class demox {public static void main(String[] args) {
    int[] arr =getArr();
    System.out.println("最大值"+arr[0]+"出现了"+arr[1]+"次");}public static int[] getArr(){
    //定义数组
    int[] arr = new int[4];
    //导入随机包
    Random r =new Random();       // 这一行中()内是中来添加种子的,而不是控制随机数范围
    //定义接收最大
    int max = 0 ;
    //最大值计数器
    int con = 0 ;
     //随机数给数组赋值
     for(int i = 0; i < arr.length; i++){
    //随机产生随机数
     int rr = r.nextInt(9)+1;
    //循环赋值
    arr[i] = rr;
    //作比较,找到数组最大的元素
    if(arr[i] > max){
    max = arr[i];
    }
     }
    // 寻找最大值出现的次数
     for(int i = 0 ; i < arr.length ; i++){
     if(max == arr[i]){
     con++;
     }
     }
    int[] arr1 = new int[2];
    arr1[0]=max;
    arr1[1]=con;
    for(int i : arr) {
    System.out.println(i);
    }
    return arr1;}
    }
      

  2.   

    上面格式有问题,这是源码,还有不懂可以问package ss;
    import java.util.*;
    public class demox {public static void main(String[] args) {
    int[] arr =getArr();
    System.out.println("最大值"+arr[0]+"出现了"+arr[1]+"次");}public static int[] getArr(){
    //定义数组
    int[] arr = new int[4];
    //导入随机包
    Random r =new Random();
    //定义接收最大值
    int max = 0 ;
    //最大值计数器
    int con = 0 ;
     //随机数给数组赋值
     for(int i = 0; i < arr.length; i++){
    //随机产生随机数
     int rr = r.nextInt(9)+1;
    //循环赋值
    arr[i] = rr;
    //作比较,找到数组最大的元素
    if(arr[i] > max){
    max = arr[i];
    }
     }
    // 寻找最大值出现的次数
     for(int i = 0 ; i < arr.length ; i++){
     if(max == arr[i]){
     con++;
     }
     }
    int[] arr1 = new int[2];
    arr1[0]=max;
    arr1[1]=con;
    for(int i : arr) {
    System.out.println(i);
    }
    return arr1;}
    }
      

  3.   

    通过random产生的随机数是伪随机数,也就是Random r = new Random(种子);相同种子会产生相同的随机数,在r.nextiInt()这里才是控制产生的随机数的范围,产生1-9整数的方法为r.nextInt(9)+1;