kotlin, создание массива из массива объекта - PullRequest
0 голосов
/ 15 ноября 2018

Попытка создать Arraylist из моих объектов, используя ArrayList из приведенного ниже кода.Вот мой код: -

       var i = 1.0
    var list: ArrayList<Any> = ArrayList()
    while (i <= n) {
        intPerMonth = P * R
        P = P - (e - intPerMonth)
        Log.e("TAG", "Month -> " + i.toInt())
        Log.e("TAG", "Interest per month -> " + Math.round(intPerMonth))
        Log.e("TAG", "Principal per month -> " + Math.round(e - intPerMonth))
        Log.e("TAG", "Balance Principal -> " + Math.round(P))
        Log.e("TAG", "***************************")

        list = arrayListOf(
            i.toInt(),
            Math.round(intPerMonth),
            Math.round(e - intPerMonth),
            Math.round(e - intPerMonth),
            Math.round(P)
        )
        i++
        Log.e("myArray", list.toString()) // this list.toString() is my output

    }

Вывод этой программы:

E/myArray: [1, 10, 79, 79, 921] E/myArray: [2, 9, 80, 80, 842] E/myArray: [3, 8, 80, 80, 761]

, но я хочу этот тип списка: -

[(1,10,79,79,921),(2,9,80,80,842),(3,8,80,80,761)]

1 Ответ

0 голосов
/ 15 ноября 2018

Так, похоже, вы хотите список списков?Попробуйте создать внутренний список на каждой итерации, которую вы затем добавляете в свой список, например:

var i = 1.0
var list: ArrayList<Any> = ArrayList()
while (i <= n) {
    intPerMonth = P * R
    P = P - (e - intPerMonth)
    Log.e("TAG", "Month -> " + i.toInt())
    Log.e("TAG", "Interest per month -> " + Math.round(intPerMonth))
    Log.e("TAG", "Principal per month -> " + Math.round(e - intPerMonth))
    Log.e("TAG", "Balance Principal -> " + Math.round(P))
    Log.e("TAG", "***************************")

    var innerList = arrayListOf( // create a different list here
        i.toInt(),
        Math.round(intPerMonth),
        Math.round(e - intPerMonth),
        Math.round(e - intPerMonth),
        Math.round(P)
    )
    list.add(innerList) // add the inner list to your list
    i++
}
Log.e("myArray", list.toString()) // this prints the new list of lists
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...