Sanani ajratib, sanalar ro`yxatini tuzish

+3 ovoz
51 marta ko‘rilgan
so‘radi 03 yanvar, 17 Bilmasvoy (785 bal)

Quyidagi class turida ro`yxatimiz bor:

class SalomToshkent{
................
private int day;
private int month;
private int year;
................
}

Men bu ro`yxatni shunday qilishim kerak-ki, huddi kalendarga o`xshash bo`ladi. Masalan, 01.01.2000 dan 01.01.3000 gacha.

Men 2 ta sanani satr shaklida yozaman. Shu sanalar va ular orasidagi sanalardan tashkil topgan ro`yxatni tuzish kerak. Sana SalomToshkent klasi turida bo`lishi kerak.

Yordam bera olasizmi?

izoh qoldirdi 04 yanvar, 17 Baron (834 bal)
shart (if, switch) va takrorlash (for) operatorlaridan foydalaning (ishlashini o'qing, o'rganing)

2 Javoblar

+2 ovoz
javob berdi 04 yanvar, 17 Saidolim (3,120 bal)

Sanani satrdan o`qib olish:

Calendar now = Calendar.getInstance();
int year = now.get(Calendar.YEAR);
int month = now.get(Calendar.MONTH) + 1; // Note: oy 0 dan boshlanadi
int day = now.get(Calendar.DAY_OF_MONTH);
int hour = now.get(Calendar.HOUR_OF_DAY);
int minute = now.get(Calendar.MINUTE);
int second = now.get(Calendar.SECOND);
int millis = now.get(Calendar.MILLISECOND);

Endi silk yasaymiz

try {
    Calendar gcal = Calendar.getInstance();
    SimpleDateFormat sdf = new SimpleDateFormat("d.M.yyyy");
    Date start = sdf.parse("1.1.2000");
    Date end = sdf.parse("1.1.3000");
    gcal.setTime(start);
    do {
        Date d = gcal.getTime();
        System.out.println(d);
        gcal.add(Calendar.MONTH, 1);
    } while (gcal.getTime().before(end));
} catch (ParseException exp) {
    exp.printStackTrace();
}
+1 ovoz
javob berdi 04 yanvar, 17 anorboev (124 bal)

qiziqib console appliacation yozib ko'rdim. App C# da yozilgan, lekin umumiy logikani chunish mumkin. Chunarliroq bo'lishi uchun kommentlar yozdim:

class Program
    {
        static void Main(string[] args)
        {
            //bo'sh list yaratamiz, array ishlatsa ham bo'ladi
            List<SalomToshkent> datesList = new List<SalomToshkent>();
            //boshlang'ich data. Consoldan dd.MM.yyyy farmatda string olib DateTime faormatga o'tqazadi
            DateTime start = DateTime.ParseExact(Console.ReadLine(), "dd.MM.yyyy", CultureInfo.InvariantCulture);
            //so'nggi data. Consoldan dd.MM.yyyy farmatda string olib DateTime faormatga o'tqazadi
            DateTime end = DateTime.ParseExact(Console.ReadLine(), "dd.MM.yyyy", CultureInfo.InvariantCulture);

            //loop. boshlang'ich dataga 1 kunda qo'shib boradi. bu so'nggi datagacha davom etadi
            for (var date = start; date <= end; date = date.AddDays(1))
            {
                //har safar kerakli object yasaladi
                SalomToshkent model = new SalomToshkent(date.Day, date.Month, date.Year);
                //va avvalroq yaratilgan listga qo'shib boriladi
                datesList.Add(model);
                //tekshirish uchun consolega chiqarib boriladi
                Console.WriteLine(date.Date);
            }

            Console.ReadLine();
        }
    }

    class SalomToshkent{
        //konstuktor
        public SalomToshkent(int day, int month, int year)
        {
            this.day = day;
            this.month = month;
            this.year = year;
        }
        private int day { get; set; }
        private int month { get; set; }
        private int year { get; set; }
    }

izoh qoldirdi 04 yanvar, 17 Saidolim (3,120 bal)
Iloji bo`lsa, so`ralgan tilda javob berish kerak. C# da logikasi bo`lgani bilan, so`ragan odamga ishlamidiku.
izoh qoldirdi 05 yanvar, 17 anorboev (124 bal)
Bir tarafdan siz haqsiz, lekin bunaqa savollarga logikani tushunturish bilan javob berish, to'liq javobdan ko'ra foydaliroq deb bilaman. Agar so'ralgan narsani to'liq yozib berilaversa savol beruvchiga bu aynan shu muammoni hal qilishda foyda beradi. Birozdan so'ng yana shunga o'xshash muammoga yo'liqsa yana savol beradi.
P.S Bu mani fikrim, baxslashish niyatida yozmadim.
P.P.S Hozircha yordam.uz java comunity bo'lib qolgan, man java ni uncha bilmayman, lekin sayt o'sishida ishtirok etish niyat bor, shuning uchun orolaga tiqilib turimman))

Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.

Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin.

Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Telegram kanal YordamUzRss

...