Java 如何创建包含1000个随机生成的整数的数组?
我应该创建一个1000整数的数组,并编写一个方法来查找最大的整数,然后打印它。这就是我到目前为止所做的:Java 如何创建包含1000个随机生成的整数的数组?,java,arrays,int,Java,Arrays,Int,我应该创建一个1000整数的数组,并编写一个方法来查找最大的整数,然后打印它。这就是我到目前为止所做的: public static int findLargest(int[] numbers){ int largest = numbers[0]; for(int i = 1; i < numbers.length; i++){ if(numbers[i] > largest){ largest = number
public static int findLargest(int[] numbers){
int largest = numbers[0];
for(int i = 1; i < numbers.length; i++){
if(numbers[i] > largest){
largest = numbers[i];
}
}
return largest;
}
公共静态int findLargest(int[]个数){
int最大=数字[0];
对于(inti=1;i最大){
最大=数字[i];
}
}
回报最大;
}
首先,如何创建一个包含1000个随机生成的整数的数组?我尝试了
int[]array=new(int)(Math.random())但是我不知道如何让它做1000个随机数。第二,如何打印结果?提前感谢您的帮助。仔细观察,您的findLargest
方法看起来不错——它使用了正确的方法
要生成1000个数字的列表,需要将数组初始化为1000个元素。现在您正在初始化它,使其具有随机数目的元素,这不是您想要的。将数字初始化为长度为1000的int[]后,需要在数组上循环,将随机数放入。有点像
int [] numbers = new int[1000]; // generate a new int[]
for (i = 0; i < number.length; i++) {
numbers[i] = xxxx; // generate a random number
}
int[]number=new int[1000];//生成一个新的int[]
对于(i=0;i
您可能应该创建某种类型的init
方法来为您创建原始数组。您可以在main中调用它,获取对数组的引用,然后将该数组传递给find方法,然后打印结果
您就快到了。您可以使用Java的类来生成随机整数。然后用随机整数填充数组并调用方法,将数组传递给它
// Random number generator
Random r = new Random();
// Create array of 1000 ints
int[] intArr = new int[1000];
// Fill array with random ints
for ( int i = 0; i < intArr.length; i++ ) {
intArr[i] = r.nextInt();
}
// Print result
System.out.println( findLargest( intArr ) );
//随机数生成器
随机r=新随机();
//创建1000整数的数组
int[]intArr=新int[1000];
//用随机整数填充数组
对于(int i=0;i
int[]randArray=newint[1000];
对于(int i=0;i<1000;i++){
随机数组[i]=(int)(Math.random()*1000);
}
System.out.println(findLargest(randArray));
查找最大的int
的另一种方法是使用java.util.Arrays.sort(int[])
,然后打印数组的最后一个元素。此程序:
-使用Arraylist存储数字
-使用集合对数字进行排序
-使用for loop循环遍历Arraylist,并使用Math.random()将其填充为随机数。
-打印Arraylist中的最大数字。
我希望它能回答你的问题。
请给我们一个反馈
import java.util.ArrayList;
import java.util.Collections;
public class prac
{
public static void main(String args[])
{
ArrayList<Double> MyArrayList=new ArrayList<Double>();
for(int i=0;i<100;i++)
{
MyArrayList.add(Math.random());
}
Collections.sort(MyArrayList);
for(int j=0;j<MyArrayList.size();j++)
{
System.out.println(MyArrayList.get(j));
}
System.out.println("The largest Number is:");
System.out.println(MyArrayList.get(-1+MyArrayList.size()));
}
import java.util.ArrayList;
导入java.util.Collections;
公共级普拉克
{
公共静态void main(字符串参数[])
{
ArrayList MyArrayList=新建ArrayList();
对于(int i=0;i我实际上有一个预先创建的类,用于查找任何一组值中的最大整数。您可以将该类放入项目中,并在任何类中使用它,如下所示:
System.out.println(figures.getLargest(8,6,12,9,120));
这将返回值“120”并将其放入输出中。如果您有兴趣使用它,请参阅以下方法源代码:
公众人物{
public static int getLargest(int...f) {
int[] score = new int[f.length];
int largest=0;
for(int x=0;x<f.length;x++) {
for(int z=0;z<f.length;z++) {
if(f[x]>=f[z]) {
score[x]++;
}else if(f[x]<f[z]) {
}else {
continue;
}
if(z>=f.length) {
z=0;
break;
}
}
}
for(int fg=0;fg<f.length;fg++) {
if(score[fg]==f.length) {
largest = f[fg];
}
}
return largest;
}
公共静态int getmax(int…f){
int[]分数=新的int[f.长度];
int最大=0;
对于(intx=0;xintn[]={1,5,7,3};
for(int i=0;i n[0]){
n[0]=n[i];
}
}
System.out.println(n[0]);
return语句很好,只是缩进严重。@user949300是的,我把它留给学生去弄清楚。我用(int)(Math.random()*100)替换为“XXXX”但它总是打印出99。我做错了什么?请注意,在for中的I
前面没有int
loop@user1157541:在随机生成的1000个0到99之间的数字数组中,99可能是最大的值。你应该给学生留下一些实际要做的事情。你在第二个答案后10分钟要发布,您的答案不是添加任何唯一的内容。您应该删除此内容。如果您只是处理double,则无需使用ArrayList。使用primitive double可以获得更好的性能。不要忘记java.util.Arrays.sort()感谢您提供了一个很好的简单解决方案。
public static int getLargest(int...f) {
int[] score = new int[f.length];
int largest=0;
for(int x=0;x<f.length;x++) {
for(int z=0;z<f.length;z++) {
if(f[x]>=f[z]) {
score[x]++;
}else if(f[x]<f[z]) {
}else {
continue;
}
if(z>=f.length) {
z=0;
break;
}
}
}
for(int fg=0;fg<f.length;fg++) {
if(score[fg]==f.length) {
largest = f[fg];
}
}
return largest;
}
int n[] = {1,5,7,3};
for(int i=0;i<n.length;i++){
if(n[i] > n[0]){
n[0] = n[i];
}
}
System.out.println(n[0]);