我已经有一个数组,其随机数介于0-999之间。 我还创建了两个新阵列,一个正确的大小可以容纳所有数字0-499,另一个正确的大小为500-999。
问题是然后循环通过数组保存所有数字并将正确的数字0-499和500-999复制到新数组。
任何人都知道正确的方法吗?现在花了很多天试图解决这个问题。
到目前为止我得到了什么:
public static void main(String[] args) {
Scanner scannerObject = new Scanner(System.in);
Random generator = new Random();
System.out.print("How many numbers between 0 - 999?" );
int number= scannerObject.nextInt();
int [] total= new int[number];
for(int index = 0; index < total.length; index++ )
{
total[index] = generator.nextInt(1000);
}
System.out.println("Here are the random numbers:");
for(int index = 0; index < total.length; index++ )
{
System.out.print(total[index]+ " ");
}
int lowNumber=0;
int largeNumber = 0;
for(int index = 0; index < total.length; index++ )
{
if (total[index] < 500)
{
lowNumber++;
}
if (total[index] >= 500)
{
largeNumber++;
}
}
System.out.println();
System.out.println(lowNumber);
System.out.println(largeNumber);
int [] totalLownumber = new int [lowNumber];
int [] totalLargeNumber = new int [largeNumber];
for(int index = 0; index < total.length; index++ )
{ // TODO
}
}
答案 0 :(得分:3)
您可以采取的方法如下:
您可以浏览初始数组,计算您拥有的元素,并使用计数器值来定义所需数组的大小。然后再次检查原始数组并将元素复制到各自的数组中。您可以再次使用计数器值(您需要先重置它们),以便跟踪当前数字所需的阵列位置。这应该与你正在做的类似。
考虑使用可变长度数据结构,例如List(Java中的ArrayList)。这样您就可以浏览原始数组并将数字分配到各自的列表中(让我们称之为largeNumberList
和lowNumberList
)。由于这些集合具有动态大小,因此您只需要遍历数组一次并随着时间分配。
后一种方法通常是经常使用的方法,但是,因为看起来这个问题与家庭作业有关,我建议你尝试两种方法并进行比较。
答案 1 :(得分:0)
试试这个:
task :download_composer do
run "cd " + release_path + " && curl -s https://getcomposer.org/installer | php"
end
before "symfony:composer:update", "download_composer"
before "symfony:composer:install", "download_composer"