Как изменить строку в вашем массиве - PullRequest
0 голосов
/ 26 сентября 2018

Ну, у меня есть множество людей.Они содержат переменные экземпляра, такие как: NAME, AGE, LOCATION .Это частные переменные экземпляра.

Теперь в моем массиве есть разные люди со своими собственными переменными экземпляра.Я буду использовать себя, чтобы сделать это проще.

Оскар 22 США

Однако после успешного создания моего массива мне нужно создать логический метод, который позволит мне искать по всему массиву, найти мое имяи изменить США на Японию (или что-то еще).Так что, если Оскар в Японии, хорошо, но если Оскар в США, измените его на Японию.

Этот проект, предположительно, довольно простой, и на самом деле это не домашнее задание, поскольку это был вызов, но прошла неделя с того момента, как его назначил профессор, и я не могу его понять.Я знаю, как делать другие методы, но Boolean сбивает меня с толку.


public class Frogs {

    private String breed;
    private String nativeTo;


    public Frogs(String breed, String nativeTo)
    {
        this.breed=breed;
        this.nativeTo=nativeTo;

    }

    //accessor(GETTER)

    public String getRegion() 
    {
        return nativeTo;
    }

    public String getBreedName()
    {
        return breed;
    }

    public String toString() ////(RETURNS A STRING (not the memory) ////////////
    {
        return ("Frog Breed -  " +breed+ "From: " +nativeTo);
    }}
public class WildAnimalsDemo {

public static void main(String[]args)
        {

            Frogs [] stuff = new Frogs[6];  //array of objects of type frogs

            stuff[0] = new Frogs ("Tree Frog " , "NJ");
            stuff[1] = new Frogs ("Lizard Frog " , "PA");
            stuff[2] = new Frogs ("Kermit Frog " , "Muppets");
            stuff[3] = new Frogs ("Bear Frog " , "Philipines");
            stuff[4] = new Frogs ("Bull Frog " , "New York");
            stuff[5] = new Frogs ("Lizard " , "PA");           // DOES NOT HAVE "FROG" IN IT

            System.out.println(stuff[0]);
            System.out.println(stuff[1]);
            System.out.println(stuff[2]);
            System.out.println(stuff[3]);
            System.out.println(stuff[4]);
            System.out.println(stuff[5]);
            System.out.println();
            //////////////////////////////////////////////////////////////////////////////////////////////////1stPRINT
            int count=findFrogFromPlace(stuff,"New York");

            System.out.println("Found: " + count);
            //////////////////////////////////////////////////////////////////////
            int count1=findFrogFromPlace(stuff,"PA");

            System.out.println("Found: " + count1);
            /////////////////////////////////////////////////////////////////////////////////////////////////2ndPrint


        /*  boolean possible = findAndSetBreed(stuff, "Frog");
            System.out.println(possible + " Species " + stuff[5] );
            boolean possible1 = findAndSetBreed(stuff, "Frog");
            System.out.println(possible1 + " Species " + stuff[4] );*/

        }

    public static int findFrogFromPlace(Frogs[] F , String theRegion)
    {
        int count=0;             //////THIS COUNT IS NOT THE SAME AS COUNT FROM THE MAIN

        for(int x=0; x<F.length; x++)
        {

               //Returns String/
            if (F[x].getRegion().equalsIgnoreCase(theRegion) )
                count++;
        }

        return count;
    }

    /*public static boolean findAndSetBreed(Frogs[] frog, String theBreed)
    {


        for(int x=0; x<frog.length; x++)
        {


        if (frog[x].getBreedName().equalsIgnoreCase(theBreed) )
                System.out.println(x);

        }
        return frogg;
    }   */
}

1 Ответ

0 голосов
/ 26 сентября 2018

Пример, который вы опубликовали, немного отличается от того, что вы просили.В любом случае, вы должны реализовать методы getter и setter для каждого поля класса.Затем вы можете написать метод

public boolean checkName(String name) {
   return (name.equals(this.name));
}

. В основном вы можете установить правильное местоположение, проверив каждый объект вашего массива и вызвав setLocation (), если checkName вернет true

Person[] array={.......}
for(Person p: array) {
   if(p.checkName("Oscar"))
       p.setLocation("Japan");
}
...