View Full Version : آرایه ای از کلاس
fatemehmahdieh
جمعه 02 فروردین 1392, 12:14 عصر
سلام می خواستم ببینم نوشتن چنین کدی در جاوا اشکالی داره یعنی ایجاد آرایه ای از یه کلاس
Player1[] C=new Player1[in.nextInt()];
کلاس player1 خودم تشکیل دادم
آخه کامپایلر برای این کد خطا نمی گیره اما موقع اجرا خطا ایجاد می شه :ناراحت:
younes221
جمعه 02 فروردین 1392, 23:17 عصر
سلام ؛
کلاس player1 خودم تشکیل دادم
آخه کامپایلر برای این کد خطا نمی گیره اما موقع اجرا خطا ایجاد می شه :ناراحت:
حداقل میگفتین چه خطایی ایجاد میشه !؟ دستورتون فکر نمیکنم مشکلی داشته باشه بجز اینکه خطای I/O بده . یعنی ورودی رو اشتباه وارد کردین . یا اعداد رو به صورت رشته گرفتین و باید به نوع صحیح Cast کنید .
راه حل دوم :
شما میتونید به جای ساخت آرایه Static ، از کلاس ArrayList استفاده کنید . خیلی راحت هم میتونید از طریق متدهایی که این کلاس براتون تدارک دیده مدیریتش کنید .
ArrayList<Person> arrayList = new ArrayList<>();
arrayList.add(new Person("younes", "jjjj", (byte)44));
chris66001
سه شنبه 06 فروردین 1392, 09:56 صبح
سلام می خواستم ببینم نوشتن چنین کدی در جاوا اشکالی داره یعنی ایجاد آرایه ای از یه کلاس
Player1[] C=new Player1[in.nextInt()];
کلاس player1 خودم تشکیل دادم
آخه کامپایلر برای این کد خطا نمی گیره اما موقع اجرا خطا ایجاد می شه :ناراحت:
اول : سعي كنيد براي اين كد يدونه try-catch بزاريد تا اكسپشن رو براتون Handel كنه (ارور رو toString كنيد)
دوم : الان اين دستور درسته .
Player1[] C=new Player1[in.nextInt()];
ولي تنها مشكلي كه داره اينه كه مثلا شما 3 رو وارد ميكني اين دستور مياد 3 تا ارايه رو تشكيل ميده ولي براي اينها نمياد حافظه تخصيص بده شما بايد براي تك تك عناصر آرايه كلاس رو new كني.
Player1[0] = new Player1();
سوم : يا همونطور كه دوست خوبم گفت از ArrayList استفاده كني.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.