Sha256: 09f952e34fee8d4a95467878acbf9e19aad682313d06d5f98a05ffda6cf45801

Contents?: true

Size: 1.39 KB

Versions: 120

Compression:

Stored size: 1.39 KB

Contents

import java.util.Arrays;
import java.util.List;
import java.util.ArrayList;


public class KindergartenGarden {
    private String[] students;
    private String garden;
    private static final int PLANTS_PER_STUDENT_PER_ROW = 2;
    private final int newRowLocation;

    private static final String[] DEFAULT_STUDENTS = {
            "Alice", "Bob", "Charlie", "David",
            "Eve", "Fred", "Ginny", "Harriet",
            "Ileana", "Joseph", "Kincaid", "Larry"
    };

    public KindergartenGarden(String garden, String[] students) {
        this.garden = garden;
        Arrays.sort(students);
        this.students = students;
        newRowLocation = garden.indexOf('\n') + 1;
    }

    public KindergartenGarden(String garden) {
        this(garden, DEFAULT_STUDENTS);
    }

    public List<Plant> getPlantsOfStudent(String student) {
        List<Plant> plants = new ArrayList<Plant>();
        int studentPlantsIndex = Arrays.binarySearch(students, student) * PLANTS_PER_STUDENT_PER_ROW;

        for (int i = studentPlantsIndex; i < studentPlantsIndex + PLANTS_PER_STUDENT_PER_ROW; i++) {
            plants.add(Plant.getPlant(garden.charAt(i)));
        }

        for (int i = newRowLocation + studentPlantsIndex;
             i < newRowLocation + studentPlantsIndex + PLANTS_PER_STUDENT_PER_ROW; i++) {
            plants.add(Plant.getPlant(garden.charAt(i)));
        }

        return plants;
    }
}

Version data entries

120 entries across 120 versions & 1 rubygems

Version Path
trackler-2.2.1.71 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.70 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.69 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.68 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.67 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.66 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.65 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.64 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.63 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.62 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.61 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.60 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.59 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.58 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.57 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.56 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.55 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.54 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.53 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java
trackler-2.2.1.52 tracks/java/exercises/kindergarten-garden/.meta/src/reference/java/KindergartenGarden.java