2014-04-12 15 views
0
import java.util.Random; 

public class Console { 
public static void main(String[] args) { 
while (3>2) { 
Random rand1 = new Random(); 
Random rand2 = new Random(); 
Random rand3 = new Random(); 
Random rand4 = new Random(); 
Random rand5 = new Random(); 
Random rand6 = new Random(); 
Random rand7 = new Random(); 
Random rand8 = new Random(); 
int onenum = rand1.nextInt(2); 
int twonum = rand2.nextInt(2); 
int threenum = rand3.nextInt(2); 
int fournum = rand4.nextInt(2); 
int fivenum = rand5.nextInt(2); 
int sixnum = rand6.nextInt(2); 
int sevennum = rand7.nextInt(2); 
int eightnum = rand8.nextInt(2); 
int binary[] = {onenum, twonum, threenum, fournum, fivenum, sixnum, sevennum, eightnum}; 
    System.out.println(java.util.Arrays.toString(binary)); 

如何檢查是否說二進制數組的第一個數字是一個?如何調用在java中的數組上的語句

目前,如果我跑,我得到的輸出喜歡{1,0,1} ECT

+0

爲什麼有一個條件,而3> 2,你想一個無限循環? –

+0

這段代碼看起來很可愛。特別是3> 2 ... :-D – user3437460

回答

0

你可以簡單地做:

if(binary[0] == 1) { 
    //do something 
} 

0是數組的第一個元素,因爲事實Arrays是基於0

旁註:您不必從Random宣佈一個新的對象來獲取一個號碼,就可以使用相同的對象,如:

Random rand = new Random(); 
int onenum = rand.nextInt(2); 
int twonum = rand.nextInt(2); 
int threenum = rand.nextInt(2); 
// and so on 
0

您可以通過使用索引來做到這一點訪問一個數組中的元素的特定位置:

if (someArray[position] == something) 

在你的情況,以檢查第一元件,這將是:

if (binary[0] == 1) 

注意

  • 指數在大多數編程語言開始0所以第一個元素是在數組的索引0。第二個在索引1。等等。
0

天哪,我可以減少你的代碼這麼多!分析並查看此代碼與您的代碼完全相同。

while (3>2) { 
    Random rand = new Random(); 
    int[] binary = new int[8]; 
    for(int i=0;i<8;i++) 
     binary[i] = rand.nextInt(2); 
    if(binary[0] == 1) 
     //if first number is 1 
} 
0

只是這樣做檢查,如果第一個元素等於1:

if (binary[0] == 1) 
{ 
    //do whatever here.. 
} 

其他問題你的代碼

  • 我意識到你使用while (3>2)。如果你想讓它成爲一個無限循環,你可以使用while(true)

  • 您只需要創建一個隨機對象來創建多個隨機數。像這樣做..

Random rnd = new Random(); 
oneNum = rnd.nextInt(2); 
twoNum = rnd.nextInt(2); 
threeNum = rnd.nextInt(2); 

你甚至可以做這種方式(使用一個數組來存儲隨機數):

Random rnd = new Random(); 
int[] num = new int[8]; 
for (int x=0; x<num.length; x++) 
    num[x] = rnd.nextInt(2);