Глава 7. Задание
1. Пусть переменная i является индексом цикла while . Закончите условие для оператора так, чтобы он действовал до тех пор, пока индекс не примет значение 10.
int i = 0;
while( )
2. Пусть скобки представляет тело цикла из предыдущего вопроса. Независимо от того, что происходит в цикле, напишите единственное выражение, которое должно появиться в скобках для того, чтобы цикл успешно осуществился 10 раз.
{
}
3. Покажите результат работы следующего фрагмента кода:
double x = 3.5;
do
{
myterminal. print(x + “, “);
x = x – 0.5;
} while(x > 1.5);
4. Пусть MyTerminalIO построен и объект myterminal существует. Также допустим, что у вас есть переменная класса String с именем answer, которая уже было установлена на значение yes. Напишите фрагмент кода с циклом по условиям, данным ниже. Вам нужно написать только фрагмент. Не предполагается, что этот цикл будет делать нечто полезное.
1. До тех пор, пока ответом будет yes, цикл продолжается.
2. Внутри цикла, необходимо поместить подсказку и получить новый ответ.
5. Ниже дано начало программы. Используя переменные, которые уже объявлены, и уже записанный код, завершите программу так, чтобы она использовала цикл while, чтобы запросить последовательность различных значений от пользователя, пока не будет введено значение, меньше или равное 0. В цикле while сделайте следующее: сохраните настоящую сумму, сохраните подсчет; создайте подсказку для следующего значения; и примите следующее значение. В конце программы среднее должно быть подсчитано из суммы и подсчета и выведено на экран.
public class Assignment7Q5
{
public static void main(String[] args)
{
MyTerminalIO myterminal = new MyTerminalIO();
double inputValue;
double sum = 0.0;
int count = 0;
double average = 0.0;
myterminal. print("Enter the first value: ");
inputValue = myterminal. getDouble();
6. В следующей программе имеется возможность кратко объяснить значение, которое сохранено в переменной count. Это и требуется сделать.
import java. util. Random;
public class Assignment7Q6
{
public static void main(String[] args)
{
MyterminalIO myterminal = new MyTerminalIO();
Random generator = new Random();
int i;
double x;
int count = 0;
for(i = 1; i <= 10; i++)
{
x = generator. nextDouble();
if(x <= .5)
{
count++;
}
}
myterminal. println(count);
}
}
8. Напишите фрагмент кода, включающий цикл. Индекс цикла должен быть выражен целым числом, и он должен принимать последовательно значения 10, 8, 6, 4 и 2.. Не существует никаких других требований к этому коду.
9. Ниже показан некоторый код, за которым следуют 6 наборов трех значений. Укажите те наборы значений, которые могут быть получены в результате данного кода.
random mygenerator = new Random();
double myrandomdouble = mygenerator. nextDouble();
while(myrandomdouble < 0.5)
{
myterminal. print(myrandomdouble + “, “);
myrandomdouble = new mygenerator. nextDouble();
}
myterminal. print(myrandomdouble);
a) .2, .4, .6 b) .2, .6, .4 c) .4, .2, .6 d) .4, .6, .2 e) .6, .2, .4 f) .6, .4, .2
10. Покажите результат работы данного фрагмента кода:
int i = 0;
for(int j = 2; j <= 100; j = j * j)
{
i = i + 1;
}
myterminal. println(i);
11. Покажите результат работы данного фрагмента кода:
for(j = -10; j <= 10; j = j + 10)
{
for(k = 25; k > 15; k = k – 5)
{
myterminal. print(j * k + “, “);
}
}
12. Данная программа выводит на экран ровно 6 строчек. Покажите эти строчки.
public class Assignment7Q12
{ public static void main(String[] args)
{
MyTerminalIO myterminal = new MyTerminalIO();
String mystring = “Alaska”;
int mylength, i;
mylength = mystring. length();
for(i = 1; i <= mylength; i++)
{
myterminal. println(mystring. substring(0, i));
}
}
}
13. Пусть объект myterminal построен. Напишите фрагмент кода, который даст следующий набор значений (содержимое таблицы умножения 3 х 3) путем перемножения двух индексов цикла, j и k. Не забудьте представить результат в виде трех строчек, как это показано
1, 2, 3,
2, 4, 6,
3, 6, 9,
14. Пусть объект myterminal построен. Напишите фрагмент кода, который даст следующий набор значений (содержимое таблицы умножения 3 х 3) путем перемножения двух индексов цикла, j и k. Не забудьте представить результат в виде трех строчек, как это показано
9, 6, 3,
6, 4, 2,
3, 2, 1,
15.. Дано начало программы. Используя уже объявленные переменные и уже готовый код, закончите программу так, чтобы она принимала значения целого числа и использовала цикл for для нахождения факториала такого числа. Не нужно рассматривать случаи, когда значение равно 0. 1 или выражено отрицательным числом: будем считать, что пользователь вводит только целые значения больше 1. В конце программы факториал должен быть выведен на экран.
public class Assignment7Q15
{
public static void main(String[] args)
{
MyTerminalIO myterminal = new MyTerminalIO();
int i;
int inputValue;
int result = 1;
myterminal. print("Enter the number would you like to find the factorial of: ");
inputValue = myterminal.getInt();
16. Дано начало программы. Используя индексы j и k вложенных циклов for, закончите программу так, чтобы она выдавала на экран результат, показанный в таблице. В ней две колонки с раздельными значениями. Первая колонка содержит последовательные значения переменной j, а вторая колонка соответствующие значения переменной k. Выведите на экран значения j и k в указанной последовательности с одним пробелом между ними, но не саму таблицу.
public class Assignment7Q16
{
public static void main(String[] args)
{
int j;
int k;
j | k |
1 | 3 |
1 | 2 |
1 | 1 |
2 | 3 |
2 | 2 |
2 | 1 |
3 | 3 |
3 | 2 |
3 | 1 |
17. Дано начало программы. Используя j и k в качестве индексов вложенных циклов for, закончите программу так, чтобы она выдала на экран показанный результат. Каждый ряд соответствует одному значению индекса внешнего цикла. Содержание ряда представляет собой набор однозначных чисел, напечатанных без интервалов между ними, и произведенных индексом внутреннего цикла, k. Чтобы решить эту задачу, нужно увидеть, что начальная точка для индекса k является текущим значением индекса внешнего цикла j.
public class Assignment7Q17
{
public static void main(String[] args)
{
int j;
int k;
3456789
456789
56789
6789
789
89
9


