如何使用1-1000的整数创建100个数组?

时间:2014-04-03 02:50:08

标签: java arrays sorting

我知道如何用1-100中的整数创建一个100的数组,这只是:

int [] array = new int[100];                       // Sorted Array of 100
for (int a = 0; a < array.length; a++) {
    array[a] = a + 1;
}

但我的问题是如何创建一个100的数组,其中包含一些从1-1000开始的整数排序。任何帮助将不胜感激!

4 个答案:

答案 0 :(得分:4)

这个怎么样?

int [] array = new int[100];
for (int a = 0; a < array.length; a++) {
    array[a] = (a + 1) * 10;
}

简单,如果你没有其他要求。

编辑:为了使它几乎排序(就像每10个未排序的元素一样),有很多方法。一,使用BevynQ的解决方案,可以是:

Random r = new Random();
int [] array = new int[100];
for (int a = 0; a < array.length; a++) {
    if ((a + 1) % 10 != 0) {
        array[a] = (a + 1) * 10;
    } else {
        array[a] = r.nextInt(1000);
    }
}

答案 1 :(得分:1)

这是一个使用随机

的简单解决方案
Random r = new Random();
int [] array = new int[100];
int last = 0;
for (int a = 0; a < array.length; a++) {
    last = last + r.nextInt(10) + 1;
    array[a] = last;
}

答案 2 :(得分:0)

您甚至可以使用特定序列的数据元素创建一个数组,例如素数,因子或某些系列,如斐波那契数列。

示例:

class Fibonacci { 
    public static void main(String args[]) { 
        int array[] = new int[100]; 
        System.out.println("*****Fibonacci Series*****"); 
        int f1, f2=0, f3=1; 
        for(int i=1;i<=100;i++) { 
            array[i] = f3;
            f1 = f2; 
            f2 = f3; 
            f3 = f1 + f2; 
        } 
    } 
}

答案 3 :(得分:0)

您甚至可以使用它可以轻松更改它的分类。这是要写的代码要多得多,但实质上是通过交换数组中的一定数量的点来实现的。该数字可以由用户改变。在交换数字之前我把0到100,但重要的是它是一个有序的数学模式。

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package partlysorted;

import java.util.Scanner;

/**
 *
 * @author Library computer
 */
public class PartlySorted {
/**
 * @param args the command line arguments
 */
  public static void main(String[] args) {
    // TODO code application logic here


    //scanner for user input
    Scanner input = new Scanner(System.in);

    //intro
    System.out.println("Welcome to the partly sorted pogram");
    System.out.println("This will make a partly sorted list of integers");

    //the numbers
   int[] nums = new int[100];

   //how unsorted for it to be
   int suffels = -1;

   //when to show a typo message 
   boolean firstLoop = true;

   while(suffels  < 0 || suffels > 100)
   {
        if(firstLoop) 
        {
           System.out.println("Please enter how sorted sorted you want (0 to 100, no decimals)");
        }
        else
        {
            System.out.println("Looks like you made a typo");
            System.out.println("Please enter a integer from 0 to 100");
        }
        suffels = input.nextInt();
        firstLoop = false;
   }



   //fill it sorted first

   for(int i = 0; i < nums.length; i++)
   {
       nums[i] = i;
   }

   //suffle the array
   for(int swaps = 0; swaps < suffels; swaps++)
   {
       int firstPlace = (int)(Math.random() * 100);
       int secondPlace = (int)(Math.random() * 100);

       //swap the places
       int temp = nums[firstPlace];
       nums[firstPlace] = nums[secondPlace];
       nums[secondPlace] = temp;
   } 

   //printing it out
   for(int n: nums)
   {
       System.out.println(n);
   }
  }

}