我刚刚开始学习Java,我试图根据输入切换多个布尔值。我想在一个可扩展的方法中做到这一点,并且比为每个可能性写出if语句更优雅。这个想法是这样的:
int vikingcount = (input.nextInt());
while (vikingcount>0) {
V(vikingcount)=true;
vikingcount--;
}
现在我完全清楚上面的代码不起作用了。有多个布尔值命名为V1,V2,V3等,我希望方法将输入给定的数量设置为true(所以如果输入为3,V1 V2和V3将设置为true)我将如何完成这个?非常感谢你的帮助。
答案 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]