JavaRush /Kurslar /All lectures for UZ purposes /While tsikli foydalanish misollari

While tsikli foydalanish misollari

All lectures for UZ purposes
Daraja, Dars
Mavjud

1. While tsikli yordamida sonlar yig'indisini hisoblash

Qani, klaviaturadan sonlarni kiritib, ularning yig'indisini ekranga chiqaradigan dastur yozamiz. Mana qanday ko'rinishda bo'ladi bunday dastur kodi (faqat main metodining ichidagi kodni ko'rsatamiz).

Kod Tushuntirish
Scanner console = new Scanner(System.in);
int sum = 0;
while (console.hasNextInt())
{
   int x = console.nextInt();
   sum = sum + x;
}
System.out.println(sum); 
Scanner ob'ektini yaratamiz, ma'lumotlarni konsoldan o'qish uchun.
sum o'zgaruvchisi ichida sonlar yig'indisini saqlaymiz.
Konsolda butun sonlar kiritilganicha davom etadi

keyingi sonni x o'zgaruvchiga o'qiymiz.
x sonini yig'indiga qo'shamiz (o'zgaruvchi sum).

Hisoblangan yig'indini ekranga chiqaramiz.

2. While tsikli yordamida kiritilgan sonlarning maksimumini topish

Ikkinchi dastur ham klaviaturadan sonlarni o'qiydi (foydalanuvchi sonlarga o'xshash narsalarni kiritganicha), lekin ekranda kiritilgan sonlarning eng kattasini chiqarish kerak bo'ladi. Mana qanday ko'rinishda bo'ladi bunday dastur kodi (faqat main metodining ichidagi kodni ko'rsatamiz).

Kod Tushuntirish
Scanner console = new Scanner(System.in);
int max = 0;
while (console.hasNextInt())
{
   int x = console.nextInt();
   if (x > max)
     max = x;
}
System.out.println(max); 
Scanner ob'ektini yaratamiz, ma'lumotlarni konsoldan o'qish uchun.
max o'zgaruvchisi ichida sonlarning maksimumini saqlaymiz.
Konsolda butun sonlar kiritilganicha davom etadi

navbatdagi sonni x o'zgaruvchiga o'qiyapmiz.
x va max ni solishtiramiz. Agar x kattaroq bo'lsa max,
maksimumni yangilaymiz.

Topilgan sonlarning maksimumini ekranga chiqaramiz.

Bu yerda qiziqarli holat bor: agar barcha kiritilgan sonlar manfiy bo'lsa, dastur ekranga 0 sonini chiqaradi. Bu esa, aslida, noto'g'ri.

Shuning uchun max ning boshlang'ich qiymati imkon qadar kichik bo'lishi kerak.

Variant 1:

Unga -2000000000 (manfiy ikki milliard) qiymatini berish mumkin. Bu ham anchagina yaxshi.

Variant 2:

int turining eng kichik qiymatini berish. Buning uchun o'ziga xos bir konstant bor: Integer.MIN_VALUE;

Variant 3:

Yana bir yaxshi variant — max ni birinchi kiritilgan son bilan initsializatsiya qilish. Bu eng yaxshi variant. Lekin bu faqat vazifa sharti bo'yicha foydalanuvchi kamida bir ta son kiritishi kerak bo'lsa mumkin.

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION