不知道错在哪

qq_26498747 2017-12-14 08:40:49
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;

}
}
...全文
110 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tony__Java 2017-12-14
  • 打赏
  • 举报
回复
通过random产生的随机数是伪随机数,也就是Random r = new Random(种子);相同种子会产生相同的随机数,在r.nextiInt()这里才是控制产生的随机数的范围,产生1-9整数的方法为r.nextInt(9)+1;
Tony__Java 2017-12-14
  • 打赏
  • 举报
回复
上面格式有问题,这是源码,还有不懂可以问
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;

}
}
Tony__Java 2017-12-14
  • 打赏
  • 举报
回复
建议你看看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;

}
}

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧