Как изменить строку в массиве

Ну, у меня есть множество людей. Они содержат переменные экземпляра, такие как: ИМЯ, ВОЗРАСТ, МЕСТО. Это частные переменные экземпляра.

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

Оскар 22 США

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

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


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;
    }   */
}

На каком языке ты говоришь? что ты уже испробовал?

OliverRadini 26.09.2018 10:44

Я использую Java и программирую на Eclipse.

EspadaAzul 26.09.2018 10:52

Когда функция должна возвращать ИСТИНА? когда место изменилось? или просто сообщить о статусе завершения?

dWinder 26.09.2018 11:10

Если вы можете привести несколько примеров того, что вы пробовали до сих пор, люди, возможно, смогут вам помочь.

OliverRadini 26.09.2018 11:13

Что ж, Оскар больше не из США, поэтому, если он говорит, что США, это должно быть ложью, и он должен затем изменить его на текущее местоположение.

EspadaAzul 26.09.2018 11:13

@OliverRadini Хорошо, я добавил код в класс в качестве примера того, что мы сделали той ночью, но он хотел изменить String Lizard на Type of Frog, используя логический метод ///// Основная цель заключалась в изменении строки переменная экземпляра от одного объекта к другому из массива

EspadaAzul 26.09.2018 11:26

Поэтому используйте ссылку при отправке массива в функцию и после нахождения набора элементов, если это необходимо, и соответственно верните логическое значение

dWinder 26.09.2018 11:49
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
7
79
1

Ответы 1

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

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");
}

Для сравнения строк следует использовать String.equals, а не ==.

Bentaye 26.09.2018 12:52

Другие вопросы по теме