Loading...
GoShow avatar GoShow 595 Точки

[Technical Issue] Java Basics - Създаване на нови инстанции на клас

Здравейте колеги.Реших да задълбая днес малко със създаване на класове, все още съм на вълна Java, не ми се сърдете :).Въпроса ми е може ли от масив със стрингове да го обходя с for- цикъл и да създам с всеки стринг нова инстанция на клас.Порових се в нета, но може би не задавам въпроса си правилно.Ето какво имам предвид имам си клас Car, а главния е MyCarsMain да речем;

public class Car {

..........

..........

..........

}

 

public class MyCars {

     public static void main(String[] args) {

          String[] listOfCars = {"BMW","Mercedes", "Audi"};

          for(i = 0; i < listOfCars.length; i++) {

               listOfCars[i] = new Car();

          }  

     }

}

 

Възможно ли е въобще подобно решение?

Тагове:
0
Java Advanced
hristolilov avatar hristolilov 394 Точки

Възможно е, но с лист :)

List<Car> cars = new List<Car>();

Car asd = new Car(blq, blq , blq)

cars.add(asd);

 

 

1
nikolay.dimov83 avatar nikolay.dimov83 143 Точки

И с масив си става - ползвам масив за играта от курсовия. Само, че както правилно си написал масива трябва да ти е от тип Car.

1
GoShow avatar GoShow 595 Точки

Как да инициализирам ново asd :) в случая на всяка итерация, като го взема примерно от масив с asd-та и този масив от какъв тип може да бъде(масив или лист)?

0
nikolay.dimov83 avatar nikolay.dimov83 143 Точки

Абсолютно възможно е, само че listOfCars трябва да ти е от тип Car[] и при присвояването на елемент на масива чрез нов елемент, новия елемент трябва да му запълниш характеристиките. Например, ако класа Car има елементи brand, power, maxSpeed, трябва да имаш нещо от сорта на: listOfCars[i] = new Car("Peugeot", "75Hp", 180); 

Където примерно brand и power ти са от тип String, а maxSpeed ти е double.

1
GoShow avatar GoShow 595 Точки
Мисля, че не съм си задал пак правилно въпроса.Искам във цикъла да се създават нови инстанции на всяка нова итерация.Имената на тези инстанции искам предварително да ги вкарам в масив. Car[] listOfCars = {"BMW", "Mercedes" ....} е невалидно
0
svetli0o avatar svetli0o 134 Точки

Това ли искаш Car BMW = new Car(); Car Mercedes = new Car(); Car Audi = new Car(); тоест от масива да взимаш имената на променливите от тип Car? Незнам дали съм разбрал правилно :D. Най - близкото нещо до това е Map.

String[] listOfCars = {"BMW","Mercedes", "Audi"};

HashMap<String, Car> cars = new HashMap();

for (int i = 0; i < listOfCars.length; i++) {

    cars.put(listOfCars[i], new Car());

}

1
aslv1 avatar aslv1 304 Точки

Вижте, колеги, едно е инстанция на клас, друго е марката на колата, която най-вероятно ще бъде подадено като параметър на констуктора. Затова ще трябват два масива:

String[] listOfCarNames = { "BMW", "Mercedes", "Audi" };

Car[] listOfCars= new Car[listOfCarNames.length];

Това прави масив от Car-ове (а по̀ горе има масив от низове - марките на колите), но елементите на масива - самите коли - още не са инициализирани. Това ще направим в цикъла- той ще изглежда така:

for(i = 0; i < listOfCars.length; i++)

listOfCars[i] = new Car(listOfCarNames[i]);

}

Това е laughing

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.