JavaRush /Курсхо /All lectures for TG purposes /Мисолҳои истифодаи давра while

Мисолҳои истифодаи давра while

All lectures for TG purposes
Сатҳи , Дарс
дастрас

1. Ҳисоби ҷамъ намудани ададҳо бо истифодаи давра while

Биёед барномае нависем, ки ададҳоро аз клавиатура дохил мекунад (то даме, ки корбар чизе монанд бо ададҳо дохил мекунад) ва онҳоро дар экран ҷамъ намуда намоиш медиҳад. Ҳамин тавр рамзи чунин барнома ба назар мерасад (ҳамагӣ рамз дар дохили методи main оварда шудааст).

Рамз Шарҳ
Scanner console = new Scanner(System.in);
int sum = 0;
while (console.hasNextInt())
{
   int x = console.nextInt();
   sum = sum + x;
}
System.out.println(sum); 
Объекти Scanner-ро барои хондани маълумот аз консоль эҷод мекунем.
Дар тағйирёбандаи sum ҷамъ намудани ададҳоро нигоҳ медорем.
То даме, ки дар консоль ададҳои бутун ворид мекунанд

адади навбатиро ба тағйирёбандаи x мехонем.
x-ро ба ҷамъ намудани ададҳо (тағйирёбандаи sum) илова мекунем.

Ҷамъ намудани ҳисобшударо дар экран нишон медиҳем.

2. Максимуми ададҳои дохилшударо бо истифодаи давра while

Барномаи дуюм низ ададҳоро аз клавиатура мехонад (то даме, ки корбар чизе монанд бо ададҳо дохил мекунад), аммо дар экран адади бузургтарини дохилшударо нишон медиҳад. Ҳамин тавр рамзи чунин барнома ба назар мерасад (ҳамагӣ рамз дар дохили методи main оварда шудааст).

Рамз Шарҳ
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-ро барои хондани маълумот аз консоль эҷод мекунем.
Дар тағйирёбандаи max максимуми ададҳоро нигоҳ медорем.
То даме, ки дар консоль ададҳои бутун ворид мекунанд

адади навбатиро ба тағйирёбандаи x мехонем.
x ва max-ро муқоиса мекунем. Агар x аз max калон бошад,
максро навсозӣ мекунем.

Максимуми ададҳои ёфтшударо дар экран нишон медиҳем.

Ин ҷо як нуқтаи ҷолиб аст: агар ҳама ададҳои дохилшараф дар клавиатура манфӣ бошанд, барнома адади 0-ро нишон медиҳад. Ин, дар воқеъ, нодуруст аст.

Бинобар ин, арзиши ибтидоии max бояд ҳарчи камтар бошад.

Интихоб 1:

Мумкин аст ба он -2000000000 (манфии ду миллиард) таъин кунед. Ин аллакай хеле хуб аст.

Интихоб 2:

Арзиши хурдтарини навъи int-ро таъин кунед. Барои он константаи махсус мавҷуд аст: Integer.MIN_VALUE;

Интихоб 3:

Ҳатто беҳтар - инициализатсия кардани max бо адади аввал дохилшуда. Ин беҳтарин интихоб аст. Аммо инро танҳо дар сурате иҷро кардан мумкин аст, ки мувофиқи шарти масъала, корбар бояд ҳадди ақал як адад ворид кунад.

Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION