نمایش نتایج 1 تا 16 از 16

نام تاپیک: سوال ساده در مورد آرایه

  1. #1

    سوال ساده در مورد آرایه

    سلام
    چطوری میتونم یه آرایه تعریف کنم که اعداد 1 تا 30 رو توی jlabel نمایش بده
    for (int i=0;i==30;i++)        {
    sum=sum+i;


    }


    حلقه رو نوشتم و 30 تا هم لیبل دارم ولی اینکه این اعداد رو توی لیبل هایی که ساختم نمایش بده رو نمیدونم چیکار کنم
    میدونم باید یه آرایه بسازم ولی راهش رو بلد نیستم
    اگه میشه کمکم کنید ممنون از وقتی که گذاشتید

  2. #2
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: سوال ساده در مورد آرایه

    در تعریف آرایه اشیاء به جز تعریف اندازه آرایه باید برای تمام خانه های آرایه یک شیء بسازید یا نسبت بدید.
    مثلا چیزی که گفتید این شکلی میشه تعریف کرد:
    JLabel labels[30];
    for(int i=0 ; i<labels.length ; i++){
    labels[i] = new JLabel(String.valueOf(i+1));
    }

  3. #3

    نقل قول: سوال ساده در مورد آرایه

    نقل قول نوشته شده توسط vahid-p مشاهده تاپیک
    در تعریف آرایه اشیاء به جز تعریف اندازه آرایه باید برای تمام خانه های آرایه یک شیء بسازید یا نسبت بدید.
    مثلا چیزی که گفتید این شکلی میشه تعریف کرد:
    JLabel labels[30];
    for(int i=0 ; i<labels.length ; i++){
    labels[i] = new JLabel(String.valueOf(i+1));
    }
    سلام
    ارور میده متاسفانه
    برای
    JLabel labels[30];

    ']' expected ارور رو میده

  4. #4
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: سوال ساده در مورد آرایه

    آره ببخشید به سبک C++‎‎‎‎‎‎‎ نوشتم

    چون خود آرایه هم فارغ از اینکه عناصر داخلش new بشن خودش هم یک شی هست و باید new بشه. پس درستش به این صورته:
    JLabel labels[] = new JLabel[30];
    for (int i = 0; i < labels.length; i++) {
    labels[i] = new JLabel(String.valueOf(i + 1));
    }

  5. #5

    نقل قول: سوال ساده در مورد آرایه

    سلام
    کدی که من ساختم این شد و


    JLabel lblSunday[] = new JLabel[5];
    int sum = Integer.parseInt(a_letter);
    for (int i=0;i< lblSunday.length;i++)
    {
    sum=sum+i;
    lblSunday[i] = new JLabel(String.valueOf(i + 1));
    lblSunday[i].setText(Integer.toString(sum)) ;
    }


    ولی باز هم توی لیبل هایی که ساختم خروجی نمایش داده نمیشه یعنی مقدار sum توش نمیاد متاسفانه
    یعنی توی فرمم 5 تا لیبل هست که امشون اینه:
    lblSunday1
    lblSunday2
    lblSunday3
    lblSunday4
    lblSunday5
    آخرین ویرایش به وسیله cnmeysam : شنبه 13 آبان 1396 در 13:50 عصر

  6. #6
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: سوال ساده در مورد آرایه

    خب اون کدی که گفتم رو بذارید. شما یه بار در کانستراکتور i+1 رو گذاشتید ولی دوباره در خط بعدش اومدید setText زدید و مجموع یه سری عدد رو حساب کردید!!!
    خود کانستراکتور وقتی به این صورت استفاده کنید، خودش مقدار رو میزنه. شما کلا اگر هیچی نمیبینید احتمالا layout رو ست نکردید و یا اون لیبل رو add نکردید.

    لازمه مقدمات Swing رو بخونید: https://www.tutorialspoint.com/swing/index.htm

  7. #7

    نقل قول: سوال ساده در مورد آرایه

    مگه وقتی توی فرم من لیبل رو ساختم و توی دستور میگم


    lblSunday1.setText("1")


    توی لیبل نمی نویسه 1؟
    خب توی این حالتم آنالیز من از کد اینه که اعداد 1 تا 5 رو توی لیبل هایی که توی فرمم دارم باید بنویسه دیگه!
    یعنی میشه



    lblSunday1.setText("1")
    lblSunday2.setText("2")
    lblSunday3.setText("3")
    lblSunday4.setText("4")
    lblSunday5.setText("5")


    که یعنی توی لیبلهایی که توی فرمم دارم باید اعداد 1 تا 5 نوشته بشه دیگه
    یعنی لیبل 1 عدد 1 لیبل 2 عدد 2 همینجور تا آخر
    یعنی آنالیزم از این کد و کل برنامه الان اشتباهه؟
    اگه اشتباهه میشه بگید باید چیکار کنم که توی لیبل هایی که توی فرم قبل از کد نویسی ایجاد کردم اعدا 1 تا 5 نوشته بشه با استفاده از حلقه و آرایه منظورمه؟؟

  8. #8
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: سوال ساده در مورد آرایه

    یه لحظه این عددها رو در نظر نگیرید. مشکل از این نیست. شما اول ببینید چند تا لیبل با هر متنی رو میتونید نشون بدید یا نه.

    تمام کد کلاستون رو بذارید شاید مشکل از جای دیگه ای باشه

  9. #9

    نقل قول: سوال ساده در مورد آرایه

    این کل کد باتنم





    lblshamsi.setText(datePicker.getDate());
    //بدست آوردن چندمین روز هفته
    Calendar call = Calendar.getInstance();
    int day = call.get(Calendar.DAY_OF_WEEK);
    // if (day == 7){
    // day =2;
    // }
    daynum.setText(Integer.toString(day));
    //اگر بخواهیم روزهای زوج یا فرد را نمایش دهد
    //int day = call.get(Calendar.DAY_OF_WEEK)+3;
    int Even = day % 2 ;
    lblnumberofday.setText(Integer.toString(Even));
    if(Even ==0)
    {
    lblday.setText("فرد");
    }else
    {
    lblday.setText("زوج");
    }
    switch (day) {
    case 1:
    englishdayname.setText("Sunday");
    persiandayname.setText("یکشنبه");
    break;
    case 2:
    englishdayname.setText("Monday");
    persiandayname.setText("دوشنبه");
    break;
    case 3:
    englishdayname.setText("Tuesday");
    persiandayname.setText("سه شنبه");
    break;
    case 4:
    englishdayname.setText("Wednesday");
    persiandayname.setText("چهار شنبه");
    break;
    case 5:
    englishdayname.setText("Thursday");
    persiandayname.setText("پنج شنبه");
    break;
    case 6:
    englishdayname.setText("Friday");
    persiandayname.setText("جمعه");
    break;
    case 7:
    englishdayname.setText("Saturday");
    persiandayname.setText("شنبه");

    }
    zojfard();


    //محاسبه تاریخ شمسی
    String test = datePicker.getDate();

    String a1 = Character.toString(test.charAt(0));
    String a2 = Character.toString(test.charAt(1));
    String a3 = Character.toString(test.charAt(2));
    String a4 = Character.toString(test.charAt(3));
    String a5 = Character.toString(test.charAt(4));
    String a6 = Character.toString(test.charAt(5));
    String a7 = Character.toString(test.charAt(6));
    String a8 = Character.toString(test.charAt(7));
    String a9 = Character.toString(test.charAt(8));
    String a10 = Character.toString(test.charAt(9));

    String a_letter = a9 + a10;



    // JLabel lblSunday[] = new JLabel[5];
    // for (int i = 0; i < lblSunday1.length; i++) {
    // lblSunday1[i] = new JLabel(String.valueOf(i + 1));
    // }


    JLabel lblSunday[] = new JLabel[5];
    int sum = Integer.parseInt(a_letter);
    for (int i=0;i< lblSunday.length;i++)
    {
    sum=sum+i;
    lblSunday[i] = new JLabel(String.valueOf(i + 1));
    lblSunday[i].setText(Integer.toString(sum)) ;
    }

    jLabel1.setText(a1+a2+a3+a4+a5+a6+a7+a8+Integer.to String(sum));
    //محاسبه تاریخ شمسی

    String a = persiandayname.getText();
    String b = Saturday.getText();
    String c = Sunday.getText();
    String d = Monday.getText();
    String e = Tuesday.getText();
    String f = Wednesday.getText();
    String g = Thursday.getText();
    String h = Friday.getText();

    if( a==b)
    {

    lblSaturday1.setText(lblshamsi.getText());

    }
    if( a==c)
    {
    lblSaturday1.setEnabled(false);
    lblSunday1.setText(lblshamsi.getText());

    }
    if( a==d)
    {
    lblSaturday1.setEnabled(false);
    lblSunday1.setEnabled(false);
    lblMonday1.setText(lblshamsi.getText());

    }
    if( a==e)
    {
    lblSaturday1.setEnabled(false);
    lblSunday1.setEnabled(false);
    lblMonday1.setEnabled(false);
    lblTuesday1.setText(lblshamsi.getText());

    }
    if( a==f)
    {
    lblSaturday1.setEnabled(false);
    lblSunday1.setEnabled(false);
    lblMonday1.setEnabled(false);
    lblTuesday1.setEnabled(false);
    lblWednesday1.setText(lblshamsi.getText());

    }
    if( a==g){
    lblSaturday1.setEnabled(false);
    lblSunday1.setEnabled(false);
    lblMonday1.setEnabled(false);
    lblTuesday1.setEnabled(false);
    lblWednesday1.setEnabled(false);
    lblThursday1.setText(lblshamsi.getText());

    }
    if( a==h)
    {
    lblFriday1.setText(lblshamsi.getText());
    lblSaturday1.setEnabled(false);
    lblSunday1.setEnabled(false);
    lblMonday1.setEnabled(false);
    lblTuesday1.setEnabled(false);
    lblWednesday1.setEnabled(false);
    lblThursday1.setEnabled(false);
    }





    اینم کل پروژه تو ضمیمه گذاشتم اصل پروژه بازی با تاریخ هم شمسی هم میلادیه مثلا نمایش فقط روزهای زوج یا فرد توی یک ماه
    http://cnmeysam.persiangig.com/dates.zip/download

  10. #10
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: سوال ساده در مورد آرایه

    کدتون که درسته و جواب میده. متوجه نمیشم مشکلتون چیه. آرایه اینا هم نداشت. من گفته بودم کدی بدید که مشکل داشته باشه نه این! البته نمیخواد دوباره آپلود کنید.

    اگر میخواید label دونه دونه تغییر بدید هم همون آرایه بگیرید و setText کنید درسته. اگر label از قبل وجود داره که دیگه نباید new کنید فقط setText کنید. شما صورت سوالتون با چیزی که میخواستید متفاوته.

    ولی چون از Form Designer نت بینز استفاده میکنید هر label براش یک اسم جداگونه درست میکنه و به صورت آرایه نیست. پس باید برای چنین جاهایی خودتون کدش رو بنویسید و labelها رو به فرمتون add کنید.

    یه چیزی شبیه به کد زیر (که البته ساده شدش هست):
    package testam;

    import java.awt.FlowLayout;
    import java.awt.event.ActionEvent;
    import java.awt.event.ActionListener;
    import javax.swing.JButton;
    import javax.swing.JFrame;
    import javax.swing.JLabel;


    public class Main extends JFrame{
    JLabel labels[];
    JButton btn;
    public Main(){
    super();
    setLayout(new FlowLayout());
    setDefaultCloseOperation(EXIT_ON_CLOSE);
    setSize(700,300);

    labels=new JLabel[30];
    for(int i=0;i<labels.length;i++){
    labels[i]=new JLabel("X");
    add(labels[i]);
    }
    btn=new JButton("Count");
    add(btn);
    btn.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {
    for(int i=0;i<labels.length;i++){
    labels[i].setText(String.valueOf(i+1));
    }
    }
    });
    }

    public static void main(String[] args) {
    new Main().setVisible(true);
    }
    }



  11. #11

    نقل قول: سوال ساده در مورد آرایه

    یعنی با این حساب باید بدون استفاده از محیط گرافیکی کل فرمم رو با کد نویسی توی یک کلاس درست کنم چیز زیاد سخت و پیچیده ای نیست ولی برای آدمای تنبلم خوب نیست
    چون باید بشینم کل آبجکتها و محلشون و سایزشون رو با کد نویسی به فرم اضافه کنم
    سوال آخر هیچ راهی نیست که وقتی با محیط گرافیکی فرم رو طراحی کنیم بشه خودکار با یه حلقه متن توی لیبل ها رو تغییر داد؟

  12. #12
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: سوال ساده در مورد آرایه

    راه سر راست نه. ولی میتونید اسم متغیرها رو به عناصر آرایه در کل سورس کد تغییر بدید. که اینم با یک replace قابل انجامه.

  13. #13

    نقل قول: سوال ساده در مورد آرایه

    سلام ممنون از راهنمایی ها و وقتی که گذاشتی
    شرمنده اما میشه یه مثال بزنی؟

  14. #14
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: سوال ساده در مورد آرایه

    مثال نداره دیگه. مثلا به جای lblSunday بذارید labels[0] یا مثلا به جای lblMonday بذارید labels[1] و... ولی باید آرایه labels رو تعریف کرده باشید و...

  15. #15

    نقل قول: سوال ساده در مورد آرایه

    سلام
    شرمنده متوجه نشدم یعنی وقتی یک چند لیبل دارم lblsunday1 و lblsunday2 و lblsunday3 و lblsunday4 و lblsunday5 توی فرمم حلقه و آرایم رو مثل این گذاشتم



    JLabel lblSunday[] = new JLabel[5];
    int sum = Integer.parseInt(a_letter);
    for (int i=0;i< lblSunday.length;i++)
    {
    sum=sum+i;
    lblSunday[i] = new JLabel(String.valueOf(i + 1));
    lblSunday[i].setText(Integer.toString(sum)) ;
    }




    گفتم توی لیبل های توی فرمم مقدار sum چاپ بشه ولی انجام نمیشه متوجه نمیشم اشکال از کجاست میشه همین کد رو ویرایش کنید تا متوجه بشم جریان چیه؟
    یعنی مقدار sum توی لیبل هایی که توی فرمم دارم چاپ بشه
    یعنی لیبل 1 عدد مثلا 1 میشه لیبل 2 عدد 2 و الی آخر نمیخوام هم توی فرمم لیبل بذارم هم با کد بگم لیبل جدید به فرم اضافه کن میخوام همون لیبلی هایی که دارم مقدارش تغییر کنه

  16. #16

    نقل قول: سوال ساده در مورد آرایه

    اول یک آرایه از لیبل ها درست کن به این صورت

    JLabel[] labels=new JLabel[] {lblsunday1,lblsunday2,lblsunday3,lblsunday4,lblsu nday5};

    بعد برای تنظیم تکست هر کدوم توی حلق از این کد استفاده کن

    for (int i=0;i<labels.length;i++){
    labels[i].setText(String.valueOf(sum));
    }

تاپیک های مشابه

  1. یک سوال ساده در مورد vb2005 و reference
    نوشته شده توسط saeed_rezaei در بخش VB.NET
    پاسخ: 1
    آخرین پست: پنج شنبه 16 فروردین 1386, 21:49 عصر
  2. 2 سوال ساده در مورد دیتاگرید
    نوشته شده توسط yavari در بخش VB.NET
    پاسخ: 8
    آخرین پست: چهارشنبه 02 اسفند 1385, 20:28 عصر
  3. یه سوال ساده در مورد vb و vb.net لطفا کمک کنید
    نوشته شده توسط aliasghar vb در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: یک شنبه 16 مهر 1385, 06:20 صبح
  4. یک سوال ساده در مورد postback
    نوشته شده توسط Ehsan Rafsanjani در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: دوشنبه 28 آذر 1384, 23:31 عصر
  5. یک سوال ساده در مورد ADO
    نوشته شده توسط Hamedm در بخش مطالب مرتبط با بانکهای اطلاعاتی در VB6
    پاسخ: 2
    آخرین پست: چهارشنبه 26 اسفند 1383, 06:57 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •