Здравствуйте, продолжаем решать задачи на Java языке, ниже преставлены 30 задач.
Примеры на Java (часть 1) можете прочитать здесь.
Примеры на Java (часть 2) можете прочитать здесь.
Задача 40: Программа выводит цифры от 1 до 10, а потом, начиная с другой строчки, от 10 до 1.
public class Task {
public static void main(String[] args) {
int i = 0;
do {
i = i + 1;
System.out.print(" " + i + " ");
} while (i < 10);
System.out.println("");
do {
System.out.print(" " + i + " ");
i = i - 1;
} while (i > 0);
}
}
Программа выводит:
1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1
Задача 41: Программа суммирует числа от 1 до 10.
public class Task {
public static void main(String[] args) {
int sum = 0;
for (int i = 0; i < 11; i++) {
sum = sum + i;
}
System.out.println(sum);
}
}
Программа выводит:
55
Задача 42: Машина загадывает число от 1 до 10. Пользователь пытается угадать число до трех попыток. Машина подсказывает пользователю загаданное число больше или меньше числа, введенного пользователем.
import java.util.Scanner;
public class Game {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a;
int result = (int) (Math.random() * 10 + 1);
for (int i = 0; i < 3; i++) {
System.out.println("Угадайте число:");
a = sc.nextInt();
if (a == result) {
System.out.println("Правильно");
break;
} else{
if(result < a){
System.out.println("Неправильно, число < " + a);
} else {
System.out.println("Неправильно, число > " + a);
}
}
}
System.out.println("Ответ:" + result);
sc.close();
}
}
Возможный ответ:
Пользователь вводит число 5.
Программа выводит: Неправильно, число > 5
Пользователь вводит число 7.
Программа выводит: Неправильно, число < 7
Пользователь вводит число 6.
Программа выводит: Правильно
Ответ:6
Задача 43: Пользователь вводит число от 1 до 999. Программа выводит все числа между 0 и введенным числом или выдает сообщение об ошибке.
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Введите число:");
int a = sc.nextInt();
sc.close();
if (a > 999 || a < 1) {
System.out.print("Неправильное число");
} else {
for (int i = 1; i < a; i++) {
System.out.print(i + " ");
}
}
}
}
Возможный ответ:
Пользователь вводит число 8.
Программа выводит:
1 2 3 4 5 6 7
Задача 44: Программа выводит цифры от 1 до 10, потом с другой строчки от 10 до 1.
public class Task {
public static void main(String[] args) {
int i;
for (i = 1; i <= 10; i++) {
System.out.print(i + " ");
}
System.out.println("");
for (i = 10; i > 0; i = i - 1) {
System.out.print(i + " ");
}
}
}
Ответ:
1 2 3 4 5 6 7 8 9 10
10 9 8 7 6 5 4 3 2 1
Задача 45: Программа выводит квадраты чисел от 1 до 10, потом, с другой строчки, квадраты чисел от 10 до 1.
public class Test {
public static void main(String[] args) {
int i;
for (i = 1; i <= 10; i++) {
System.out.print((i * i) + " ");
}
System.out.println("");
for (i = 10; i > 0; i = i - 1) {
System.out.print((i * i) + " ");
}
}
}
Ответ:
1 4 9 16 25 36 49 64 81 100
100 81 64 49 36 25 16 9 4 1
Задача 46: Программа выводит массивы j и g попарно.
public class Test {
public static void main(String[] args) {
// инициализация массивов при объявлении
int[] j = { 1, 2, 3, 4, 5, 6, 7, 8 };
int[] g = { 8, 7, 6, 5, 4, 3, 2, 1 };
int l = j.length;
for (int i = 0; i < l; i++) {
System.out.print(j[i] + " " + g[i]);
System.out.println("");
}
}
}
Ответ:
1 8
2 7
3 6
4 5
5 4
6 3
7 2
8 1
Задача 47: Программа создает массив и наполняет его случайными числами от 1 до 100. После этого программа выводит этот массив.
public class Test {
public static void main(String[] args) {
int j[] = new int[10];
for (int i = 0; i < 10; i++) {
j[i] = (int) (Math.random() * 100 + 1);
System.out.print(j[i]);
if (i == 9) {
System.out.print(".");
} else {
System.out.print(", ");
}
}
}
}
Возможный ответ:
69, 36, 1, 42, 18, 88, 75, 32, 49, 80.
Задача 48: Пользователь вносит число от 1 до 10. Программа создает массив размером с число, введенным пользователем, заполняет его случайным образом и выводит массив.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Введите число:");
int a = sc.nextInt();
sc.close();
if (a < 1 || a > 10) {
System.out.println("Неверное число");
} else {
int j[] = new int[a];
for (int i = 0; i < a; i++) {
j[i] = (int) (Math.random() * 10 + 1);
System.out.print(j[i]);
if (i == (a - 1)) {
System.out.print(".");
} else {
System.out.print(", ");
}
}
}
}
}
Возможный ответ:
Пользователь вводит число 4.
Программа выводит:
4, 7, 10, 7.
Задача 49: Программа создает массив из 10 элементов, заполняет его случайным образом, а потом меняет у первых пяти символов массива знак на противоположный и выдаёт новый массив с новой строки.
public class Main {
public static void main(String[] args) {
int j[] = new int[10];
for (int i = 0; i < 10; i++) {
j[i] = (int) (Math.random() * 100 + 1);
System.out.print(j[i] + " ");
}
System.out.println(" ");
for (int i = 0; i < 10; i++) {
if (i < 5) {
j[i] = -j[i];
}
System.out.print(j[i] + " ");
}
}
}
Возможный ответ:
43 23 89 99 14 2 20 1 69 23
-43 -23 -89 -99 -14 2 20 1 69 23
Задача 50: Программа создает два массива j и g по 10 элементов в каждом. Заполняет массив j случайным образом и выводит его. Потом копирует данные из массива j в массив g и выводит массив g.
public class Main {
public static void main(String[] args) {
int j[] = new int[10];
int g[] = new int[10];
for (int i = 0; i < 10; i++) {
j[i] = (int) (Math.random() * 100 + 1);
System.out.print(j[i] + " ");
}
System.out.println(" ");
for (int i = 0; i < 10; i++) {
g[i] = j[i];
System.out.print(g[i] + " ");
}
}
}
Возможный ответ:
49 35 33 26 86 11 14 28 33 73
49 35 33 26 86 11 14 28 33 73
Задача 51: Программа выводит оценки учеников.
public class Test {
public static void main(String[] args) {
// инициализация массивов при объявлении
String[] j = { "Вася", "Петя", "Маша", "Оля", "Коля" };
int[] g = { 8, 7, 6, 5, 4 };
int l = j.length;
System.out.println("Оценки учеников:");
for (int i = 0; i < l; i++) {
System.out.println(j[i] + " " + g[i]);
}
}
}
Ответ:
Оценки учеников:
Вася 8
Петя 7
Маша 6
Оля 5
Коля 4
Задача 52: Программа формирует строку из массива.
public class Task {
public static void main(String[] args) {
String[] j = { "Вася", "дома", "Маша", "в школе", "Коля", "дома", "Ваня", "в школе" };
int l = j.length;
String stroka = "";
for (int i = 0; i < l; i = i + 2) {
stroka = stroka + j[i] + " " + j[i + 1] + ". ";
}
System.out.print(stroka);
}
}
Ответ:
Вася дома.Маша в школе.Коля дома.Ваня в школе.
Задача 53: Программа генерирует случайные фразы из массивов строк.
public class Game {
public static void main(String[] args) {
String[] j1 = { "Мир", "Наука", "Торговля", "Мысль", "Коля" };
String[] j2 = { " бежит", " движет", " обгоняет", " несет", " ведет" };
String[] j3 = { " быстро.", " умно.", " рьяно.", " мудро.", " круто." };
int i1 = (int) (Math.random() * 5);
int i2 = (int) (Math.random() * 5);
int i3 = (int) (Math.random() * 5);
String stroka = j1[i1] + j2[i2] + j3[i3];
System.out.println(stroka);
}
}
Возможный ответ:
Мир движет мудро.
Задача 54: Программа генерирует случайные фразы из массивов строк.
public class Game {
public static void main(String[] args) {
String[] j1 = { "Маша", "Даша", "Паша", "Оля", "Коля" };
String[] j2 = { " смотрит", " учит", " читает", " мучит", " пишет" };
String[] j3 = { " урок.", " тест.", " текст.", " задание.", " д/з." };
int i1 = (int) (Math.random() * 5);
int i2 = (int) (Math.random() * 5);
int i3 = (int) (Math.random() * 5);
String stroka = j1[i1] + j2[i2] + j3[i3];
System.out.println(stroka);
}
}
Возможный ответ:
Маша учит тест.
Задача 55: Пользователь вводит три слова. Программа записывает их в массив и выводит в одну строчку.
import java.util.Scanner;
public class Task {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String stroka;
String mas[] = new String[3];
for (int i = 0; i < 3; i++) {
System.out.println("Введите слово:");
stroka = sc.nextLine();
mas[i] = stroka;
}
sc.close();
for (int i = 0; i < 3; i++) {
System.out.print(mas[i] + " ");
}
}
}
Возможный ответ:
Пользователь вводит:
Иду
домой
быстро.
Программа выводит:
Иду домой быстро.
Задача 56: Программа выводит два массива.
public class Task {
public static void main(String[] args) {
String[] j = { "Вася", "Петя", "Маша", "Оля", "Коля" };
int[] g = { 8, 7, 10, 5, 4 };
for (String x : j) {
System.out.print(x + " ");
}
System.out.println("");
for (int y : g) {
System.out.print(y + " ");
}
}
}
Ответ:
Вася Петя Маша Оля Коля
8 7 10 5 4
Задача 57: Программа выводит количество 5-рок в массиве.
public class Task {
public static void main(String[] args) {
int[] g = { 8, 7, 10, 5, 4, 9, 2 };
int num = 0;
for (int y : g) {
if (y == 5) {
num = num + 1;
}
}
System.out.println(num);
}
}
Ответ:
1
Задача 58: Программа формирует массив, состоящий из чисел от 1 до 10. Пользователь вводит число. Программа сообщает сколько раз встречается введенное число в массиве.
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
int[] g = new int[10];
for (int i = 0; i < 10; i++) {
g[i] = (int) (Math.random() * 10 + 1);
}
System.out.println("Введите число:");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
sc.close();
int num = 0;
for (int y : g) {
if (y == a) {
num = num + 1;
}
}
System.out.println(a + " повторяется " + num + " раз");
}
}
Возможный ответ:
Пользователь вводит число 5.
Программа выводит:
5 повторяется 1 раз
Задача 59: Программа здоровается с каждым членом семьи по отдельности и со всеми вместе.
public class Home {
public static void main(String[] args) {
String[] j = { "папа", "мама", "сын", "дочь" };
for (String x : j) {
System.out.println("Здравствуй, " + x);
}
System.out.println("Всем привет");
}
}
Ответ:
Здравствуй, папа
Здравствуй, мама
Здравствуй, сын
Здравствуй, дочь
Всем привет
Задача 60: Программа здоровается с каждым членом семьи, а потом прощается с каждым членом семьи.
public class Home {
public static void main(String[] args) {
String[] j = { "папа", "мама", "сын", "дочь" };
for (String x : j) {
System.out.println("Здравствуй, " + x);
}
for (String s : j) {
System.out.println("Пока, " + s);
}
}
}
Ответ:
Здравствуй, папа
Здравствуй, мама
Здравствуй, сын
Здравствуй, дочь
Пока, папа
Пока, мама
Пока, сын
Пока, дочь
Задача 61: Программа заполняет двухмерный массив таблицей умножения и выводит таблицу умножения.
public class Test {
public static void main(String[] args) {
int multiplication[][] = new int[10][10];
for (int i = 1; i < 10; i++) {
for (int j = 1; j < 10; j++) {
multiplication[i][j] = i * j;
System.out.print(multiplication[i][j] + " ");
}
System.out.println("");
}
}
}
Ответ:
1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100
Задача 62: Программа заполняет массив, как показано ниже:
1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0
1 1 1 1 1 1 0 0 0 0
1 1 1 1 1 1 1 0 0 0
1 1 1 1 1 1 1 1 0 0
1 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1 1
public class Test {
public static void main(String[] args) {
int multiplication[][] = new int[10][10];
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (i < j) {
multiplication[i][j] = 0;
} else {
multiplication[i][j] = 1;
}
}
}
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.print(multiplication[i][j] + " ");
}
System.out.println("");
}
}
}
Ответ:
1 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0
1 1 1 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 0 0
1 1 1 1 1 0 0 0 0 0
1 1 1 1 1 1 0 0 0 0
1 1 1 1 1 1 1 0 0 0
1 1 1 1 1 1 1 1 0 0
1 1 1 1 1 1 1 1 1 0
1 1 1 1 1 1 1 1 1 1
Задача 63: Программа заполняет массив, как показано ниже:
0 1 1 1 1 1 1 1 1 1
0 0 1 1 1 1 1 1 1 1
0 0 0 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 1 1
0 0 0 0 0 1 1 1 1 1
0 0 0 0 0 0 1 1 1 1
0 0 0 0 0 0 0 1 1 1
0 0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0
public class Test {
public static void main(String[] args) {
int multiplication[][] = new int[10][10];
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
if (i >= j) {
multiplication[i][j] = 0;
} else {
multiplication[i][j] = 1;
}
}
}
for (int i = 0; i < 10; i++) {
for (int j = 0; j < 10; j++) {
System.out.print(multiplication[i][j] + " ");
}
System.out.println("");
}
}
}
Ответ:
0 1 1 1 1 1 1 1 1 1
0 0 1 1 1 1 1 1 1 1
0 0 0 1 1 1 1 1 1 1
0 0 0 0 1 1 1 1 1 1
0 0 0 0 0 1 1 1 1 1
0 0 0 0 0 0 1 1 1 1
0 0 0 0 0 0 0 1 1 1
0 0 0 0 0 0 0 0 1 1
0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 0 0
Задача 64: Программа заполняет массив числами по порядку и выводит его.
public class Game {
public static void main(String[] args) {
String[][] field = new String[5][5];
int num = 1;
for (int i = 0; i < 5; i++) {
for (int j = 0; j < 5; j++) {
field[i][j] = " " + num;
System.out.print(field[i][j]);
num++;
}
System.out.println("");
}
}
}
Ответ:
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
Задача 65: Программа выводит двухмерный массив. Массив инициализируется при объявлении.
public class Test {
public static void main(String[] args) {
// инициализация двухмерного массива
String mas[][] = { { "Зима", "Весна", "Лето", "Осень" },
{ "Папа", "Мама", "Сын", "Дочь" },
{ "Холодно", "Тепло", "Жарко", "Комфортно" } };
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
System.out.print(mas[i][j] + " ");
}
System.out.println("");
}
}
}
Ответ:
Зима Весна Лето Осень
Папа Мама Сын Дочь
Холодно Тепло Жарко Комфортно
Задача 66: Программа переводит строковый тип данных в целочисленный и снова переводит в строковый тип данных.
public class Task {
public static void main(String[] args) {
// приведение String к int и обратно
String stroki[] = { "Суббота", "5", "Воскресенье", "2" };
System.out.println(stroki[0] + " - " + stroki[1] + ", " + stroki[2]
+ " - " + stroki[3]);
int j = Integer.parseInt(stroki[1]);
j++;
stroki[1] = j + "";
int g = Integer.parseInt(stroki[3]);
g = g + 5;
stroki[3] = g + "";
System.out.println(stroki[0] + " - " + stroki[1] + ", " + stroki[2]
+ " - " + stroki[3]);
}
}
Ответ:
Суббота – 5, Воскресенье – 2
Суббота – 6, Воскресенье – 7
Задача 67: Программа переводит строковый тип данных в целочисленный и снова переводит в строковый тип данных.
public class Task {
public static void main(String[] args) {
// приведение String к int и обратно
String stroki[] = { "Суббота", "5", "Воскресенье", "2" };
System.out.println(stroki[0] + " - " + stroki[1] + ", "
+ stroki[2] + " - " + stroki[3]);
int j = Integer.valueOf(stroki[1]);
j++;
stroki[1] = Integer.toString(j);
int g = Integer.valueOf(stroki[3]);
g = g + 5;
stroki[3] = Integer.toString(g);
System.out.println(stroki[0] + " - " + stroki[1] + ", " + stroki[2]
+ " - " + stroki[3]);
}
}
Ответ:
Суббота – 5, Воскресенье – 2
Суббота – 6, Воскресенье – 7
Задача 68: Программа приводит дробный тип данных в строковый тип данных, целочисленный тип и укороченный дробный тип, а потом обратно приводит в дробный тип данных.
public class Task {
public static void main(String[] args) {
// приведение double к int, double к String, double к float
// приведение int к double, String к double, float к double
double a = 1.55;
double b = 1.77;
double c = 1.88;
double d = 1.12345678901;
System.out.println(a + " " + b + " " + c + " " + d);
int ai = (int) a;
String bs = b + "";
String cs = Double.toString( c);
float df = (float) d;
System.out.println(ai + " " + bs + " " + cs + " " + df);
a = (double) ai;
b = Double.valueOf(bs);
c = Double.valueOf(cs);
d = (double) df;
System.out.println(a + " " + b + " " + c + " " + d);
}
}
Ответ:
1.55 1.77 1.88 1.12345678901
1 1.77 1.88 1.1234568
1.0 1.77 1.88 1.1234568357467651
Задача 69: Программа приводит boolean данные к строковым данным и снова переводит в boolean данные.
public class Task {
public static void main(String[] args) {
// приведение boolean к String и обратно
boolean a = true;
boolean b = false;
System.out.println(a + " " + b);
String as = a + "";
String bs = Boolean.toString(b);
System.out.println(as + " " + bs);
a = Boolean.parseBoolean(as);
b = Boolean.valueOf(bs);
System.out.println(a + " " + b);
}
}
Ответ:
true false
true false
true false
