在Java中,我创建了一个int数组,并且我想将这些值中的几个一起添加到同一个数组中获取另一个值,但我(可以理解)收到一条错误消息,指出“变量可能不是初始化“。这是代码:
public static void random(){
Random rand = new Random();
int[] colours = {rand.nextInt(20)+1,rand.nextInt(20)+1,(100-(colours[0]+colours[1]))};
我希望在这里发生的是“rand.nextInt(20)+ 1”的第一个元素(让我们称之为“值A”)添加到(我们称之为)值B得到值C(“100色[0] +颜色[1]”)。我想要(100-A + B)= C作为我的第三个值。 有什么方法可以在保持数组中的值C的同时做到这一点吗?我将通过for循环放置这些值,并且我希望每个值与循环数相对应(基本上,我希望每个循环输出一个值;循环1输出A,循环2输出B,循环3输出C)。
答案 0 :(得分:3)
将最后一个元素默认为0(或任何其他值),然后在下一行中更新它:
public static BindableProperty ItemsSourceProperty =
BindableProperty.Create(propertyName: nameof(ItemsSource),
returnType: typeof(IEnumerable), declaringType: typeof(BindableRadioGroup),
propertyChanged: OnItemsSourceChanged);
private static void OnItemsSourceChanged(BindableObject bindable, object oldvalue, object newvalue)
{
var radButtons = bindable as BindableRadioGroup;
radButtons.rads.Clear();
radButtons.Children.Clear();
if (newvalue != null)
{
var value = newvalue as IEnumerable;
int radIndex = 0;
foreach (var item in value)
{
var rad = new CustomRadioButton();
rad.Text = item.ToString();
rad.Id = radIndex;
rad.CheckedChanged += radButtons.OnCheckedChanged;
radButtons.rads.Add(rad);
radButtons.Children.Add(rad);
radIndex++;
}
}
}