Как передать параметр массива-списка на основе классов в программе java.util - PullRequest
0 голосов
/ 10 мая 2018

Может ли кто-нибудь помочь мне исправить код / ​​* ... * /, то есть функцию static void display, чтобы получить переданный массив в качестве параметра и соответственно отобразить его там, что я каждый раз получаю ошибку. Пожалуйста, помогите мне, я новичок в Java-программе, использующей класс утилит


import java.util.ArrayList;

public class test1{

    static void display(ArrayList<Row> arrayList1) 
    {
        ArrayList<Row> arrayList1 = new ArrayList<>();
        Row row;
     row = new Row(111,711,1110,111);
    //    rows.add(row);
     arrayList1.add(row);
    System.out.println(arrayList1); // passing the arraylist values and adding the element

 // Show the Array

        System.out.println("u\t v\t t\t lamda");
        System.out.println("------------------------------");
        for (Row printRow : rows)
        {
            System.out.println(
                    printRow.getu() + "\t " +
                    printRow.getv() + "\t" +
                    printRow.gett() + "\t" +
                    printRow.getlamda());

        }

    */

    }



    public static void main(String[] args)
    {
        ArrayList<Row> rows = new ArrayList<>();
        Row row;

        row = new Row(4,7,5,1);
        rows.add(row);
        row = new Row(3,6,6,1);
        rows.add(row);      
        row = new Row(5,9,6,1);
        rows.add(row);
        row = new Row(6,7,7,1);
        rows.add(row);
        row = new Row(6,9,7,1);
        rows.add(row);

        row = new Row(7,10,8,1);
        rows.add(row);
        row = new Row(7,10,9,1);
        rows.add(row);
        row = new Row(1,7,10,1);
        rows.add(row);


        // Show the Array

        System.out.println("u\t v\t t\t lamda");
        System.out.println("------------------------------");
        for (Row printRow : rows)
        {
            System.out.println(
                    printRow.getu() + "\t " +
                    printRow.getv() + "\t" +
                    printRow.gett() + "\t" +
                    printRow.getlamda());

        }
         display(rows);

    }/* 


}

class Row
{


    private final int u;
    private final int v;
    private final int t;
    private final int lamda;


    public Row(int u, int v, int t, int lamda)
    {
        this.u = u;
        this.v = v;
        this.t = t;
        this.lamda = lamda;
    }

    public int getu()
    {
        return u;
    }

    public int getv()
    {
        return v;
    }

    public int gett()
    {
        return t;
    }

    public int getlamda()
    {
        return lamda;
    }


}

1 Ответ

0 голосов
/ 11 мая 2018

Ваш arrayList1 передается в качестве аргумента, поэтому, как уже упоминалось в комментариях, вы не должны пересекать или повторно инициализировать его.Вы также перебираете rows, который вы не определили, вместо того, чтобы перебирать arrayList1.

static void display(ArrayList<Row> arrayList1) {
    Row row;
    row = new Row(111,711,1110,111);
    arrayList1.add(row);
    System.out.println(arrayList1); // passing the arraylist values and adding
                                    // the element    
    // Show the Array

    System.out.println("u\t v\t t\t lamda");
    System.out.println("------------------------------");
    for (Row printRow : arrayList1) {
        System.out.println(
        printRow.getu() + "\t " +
        printRow.getv() + "\t" +
        printRow.gett() + "\t" +
        printRow.getlamda());
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...