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));
如何检查二进制数组的第一个数字是否为1?
目前,如果我跑,我会得到类似{1,0,1}等的输出
答案 0 :(得分: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
答案 1 :(得分:0)
您可以使用索引访问数组特定位置的元素:
if (someArray[position] == something)
在您的情况下,要检查第一个元素,它将是:
if (binary[0] == 1)
注意强>:
0
开头,因此第一个元素将位于数组的索引0
中。索引1
中的第二个。等等。答案 2 :(得分: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
}
答案 3 :(得分: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);