{
static Scanner reader = new Scanner(System.in);
public static void main(String[] args)
{
int x, count=0, sum=0;
for (int i=1; i<=30; i++)
{
x=reader.nextInt();
if (x>500) count++;
sum=sum+x
}
System.out.println(" Количество дорогих товаров="+count);
System.out.println("Общая сумма закупки="+sum);
}
}
Разумеется, далеко не всегда переменная-сумматор увеличивается при каждом повторе (проходе) цикла; это, как и увеличение "счетчика случаев", может происходить только при выполнении определенного условия (или нескольких условий).
Например, надо реализовать в языке Java следующее задание: принимать с клавиатуры суммы, которые клиент вкладывает на свой счет в банке или снимает с этого счета. В таком классе (программе) изменение сумматора (он будет показывать, например, состояние счета после каждой операции или общие суммы снятых или вложенных денег, или общую сумму операций) или сумматоров может происходить и без проверки условий, и при проверке разных условий. В частности, раздельные переменные-сумматоры могут использоваться, если необходимо отдельно учитывать случай, когда сумма снята со счета, а отдельно – случай, когда она, наоборот, вложена на счет.
|
|
Следует иметь в виду, что использование в классе более 3-4 сумматоров (как и соответствующего числа счетчиков случаев) – совершенно нерационально. Для большего числа сумматоров или счетчиков следует использовать массивы сумматоров и массивы счетчиков; но о них речь пойдет в будущих разделах курса.
А пока – разберем поподробнее упомянутый только что пример с банком.
Клиент за месяц произвел 28 операций со своим четом в банке.
Напишите класс, который принимает с клавиатуры значение, равное сумме на счету клиента в начале месяца, а затем – 28 значений, соответствующих проведенным клиентом операциям со счетом. Положительные значение соответствуют внесению суммы на счет, отрицательные – снятию суммы со счета.
Следует определить следующие итоговые данные:
· сумму на счету в конце месяца;
· сумму внесенных (не снятых!) на счет денег;
· количество операций по снятию денег со счета.
Общие соображения:
· итоговая сумма будет определяться переменной-сумматором, начальным значение которой будет не 0, как обычно, а принимаемое с клавиатуры значение (начальное состояние счета, поскольку не обязательно и не очевидно, что на счету клиента в начале месяца был ноль…);
· сумму внесенных сумм будет фиксировать вторая переменная-сумматор, которую вначале надо будет обнулить;
· количество операций по снятию денег со счета будет фиксировать переменная-счетчик случаев, которую вначале надо будет обнулить;
· в классе будет цикл на 28 повторов – по числу операций, которые произвел клиент.
Код класса:
import java.util.*;