Ну, у меня есть множество людей. Они содержат переменные экземпляра, такие как: ИМЯ, ВОЗРАСТ, МЕСТО. Это частные переменные экземпляра.
Теперь в моем массиве есть разные люди со своими собственными переменными экземпляра. Я использую себя, чтобы облегчить задачу.
Оскар 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;
} */
}
Я использую Java и программирую на Eclipse.
Когда функция должна возвращать ИСТИНА? когда место изменилось? или просто сообщить о статусе завершения?
Если вы можете привести несколько примеров того, что вы пробовали до сих пор, люди, возможно, смогут вам помочь.
Что ж, Оскар больше не из США, поэтому, если он говорит, что США, это должно быть ложью, и он должен затем изменить его на текущее местоположение.
@OliverRadini Хорошо, я добавил код в класс в качестве примера того, что мы сделали той ночью, но он хотел изменить String Lizard на Type of Frog, используя логический метод ///// Основная цель заключалась в изменении строки переменная экземпляра от одного объекта к другому из массива
Поэтому используйте ссылку при отправке массива в функцию и после нахождения набора элементов, если это необходимо, и соответственно верните логическое значение




Опубликованный вами пример немного отличается от того, что вы просили. В любом случае вам нужно реализовать методы получения и установки для каждого поля класса. Затем вы можете написать метод
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, а не ==.
На каком языке ты говоришь? что ты уже испробовал?