根据java中的输入切换多个布尔值

时间:2018-03-12 11:12:59

标签: java input boolean

我刚刚开始学习Java,我试图根据输入切换多个布尔值。我想在一个可扩展的方法中做到这一点,并且比为每个可能性写出if语句更优雅。这个想法是这样的:

int vikingcount = (input.nextInt());
while (vikingcount>0) {
    V(vikingcount)=true;
    vikingcount--;
}

现在我完全清楚上面的代码不起作用了。有多个布尔值命名为V1,V2,V3等,我希望方法将输入给定的数量设置为true(所以如果输入为3,V1 V2和V3将设置为true)我将如何完成这个?非常感谢你的帮助。

2 个答案:

答案 0 :(得分:1)

我想你需要一个boolean(s)数组,从用户那里获取计数,初始化数组,然后使用Arrays.fill(boolean[], boolean)之类的

int vikingcount = input.nextInt();
boolean[] vikings = new boolean[vikingcount];
Arrays.fill(vikings, true);

如果您有一些号码true和一些false,则可以使用Arrays.fill(boolean[], int, int, boolean)填充n true和y false,例如

System.out.println("How many total?");
int vikingcount = input.nextInt();
System.out.println("How many true?");
int n = input.nextInt();
boolean[] vikings = new boolean[vikingcount];
Arrays.fill(vikings, 0, n, true);

答案 1 :(得分:0)

我认为最好的方法是创建一个布尔数组。

boolean[] V = new boolean[numberOfBools];
int vikingcount = (input.nextInt());

for(int i = (vikingcount - 1); i >= 0; i--)   // This loops through the whole array
{                                   
    V[i] = true;
}

请注意,数组计数从0开始。因此,如果该数组中有5个元素,则它们将命名为V [0],V [1],V [2],V [3]和V [4]