在java中,如何在int数组中为该数组中的另一个值添加值?

时间:2017-12-27 07:00:11

标签: java arrays loops for-loop int

在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)。

1 个答案:

答案 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++;
        }
    }
}