بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

تعداد سطر های یک ارایه ی دو بعدی

مدیریت گفتگو
amard 10 سال پیش
آخرین تغییر: 10 سال پیش

سلام.من میخوام تعداد سطر های یک ارایه دو بعدی(ماتریس) رو داشته باشم باید چه کدی بزنم؟

(قسمت ویرایش شده ) :   در صورتی که بخوایم یک ارایه جدید ایجاد کنیم ولی سایز ش رو ندونیم در واقع قراره هی کاربر بهش دیتا بده.باید چه سایزی رو بهش بدیم موقع تعریف کردن ارایه؟ این کد برنامه است.من منظورم ارایه result هست که باید تغییر کنه.

 
public String[][] GetDataBuild(String id) {


int counter = 0;
String[] Columns = new String[]{KEY_ID, KEY_AREA, KEY_DOMAIN, KEY_BLOCK, KEY_MELK, KEY_BUILD, KEY_APARTEMAN, KEY_GUILD, KEY_PID};

Cursor cr = myDB.query(DATABASE_TABLE, Columns, null, null, null, null, null);

String[][] result = new String[cr.getCount()][9];


int ROW_ID = cr.getColumnIndex(KEY_ID);
int ROW_AREA = cr.getColumnIndex(KEY_AREA);
int ROW_DOMAIN = cr.getColumnIndex(KEY_DOMAIN);
int ROW_BLOCK = cr.getColumnIndex(KEY_BLOCK);
int ROW_MELK = cr.getColumnIndex(KEY_MELK);
int ROW_BUILD = cr.getColumnIndex(KEY_BUILD);
int ROW_APARTEMAN = cr.getColumnIndex(KEY_APARTEMAN);
int ROW_GUILD = cr.getColumnIndex(KEY_GUILD);
int ROW_PID = cr.getColumnIndex(KEY_PID);


for (cr.moveToFirst(); !cr.isAfterLast(); cr.moveToNext()) {
if (id.equals(cr.getString(ROW_PID))) {
result[counter][0] = cr.getString(ROW_ID);
result[counter][1] = cr.getString(ROW_AREA);
result[counter][2] = cr.getString(ROW_DOMAIN);
result[counter][3] = cr.getString(ROW_BLOCK);
result[counter][4] = cr.getString(ROW_MELK);
result[counter][5] = cr.getString(ROW_BUILD);
result[counter][6] = cr.getString(ROW_APARTEMAN);
result[counter][7] = cr.getString(ROW_GUILD);
result[counter][8] = cr.getString(ROW_PID);
counter++;
}
}
return result;
}

نظرات

amard 10 سال پیش
لطفا اگر امکانش هست کمک کنید
k112 10 سال پیش
برای سوال ویرایش شده :‌برای این کار از ArrayList استفاده کنید.
amard 10 سال پیش
ارایه دو بعدی میخوام ایا با array list امکانش هست؟

پاسخ‌ها 5

k112 10 سال پیش

سلام

اولین برکت میشه همون سطر و با صدا زدن فیلد length سایزش رو میتونید بگیرید

 int[][] array = new int[5][6];
array.length;

و برای ستون های هر سطر هم با نوشتن اندیس اون سطر و باز هم صدا زدن فیلد length مقدار ستون رو میگیرید

 array[0].length;

موفق باشید

نظرات

amard 10 سال پیش

سوال ویرایش شد

نظرات

Reza 10 سال پیش
فصل 6 : باید آرایه دینامیک ایجاد کنید ، تا دیگه نیازی به مشخص کردن اندازه نباشه .
amard 10 سال پیش
ارایه داینامیک چیه؟ جور خاصی تعریف میشه؟
amard 10 سال پیش
کد های مربوطه رو ارائه دادم
amard 10 سال پیش

ببخشید دوستان اگر بنده بخوام یک arraylist دوبعدی داشته باشم باید چیکار کنم؟ لطفا راهنمایی بفرمایید برنامه م گیره

نظرات

JKM 10 سال پیش

ایجاد آرایه دوبعدی داینامیک به صورت زیر:

  ArrayList< ArrayList<String>> list=new ArrayList< ArrayList<String>>();// ساخت آرایه
                list.add(new ArrayList<String>());// اضافه کردن ستون جدید
list.get(0).add(cr.getString(ROW_ID));// اضافه کردن داده به سطر مورد نظر

نظرات

amard 10 سال پیش

ممنون از کاربر jkm برای پاسخ شون. یک سوال دیگه.اگر بخوایم تابعی بنویسم که خروجیش ارایه دو بعدی دینامیک باشه باید این طور بنویسیم? 

public ArrayList<ArrayList<String>> name ()

نظرات

JKM 10 سال پیش
بله

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .