Здравствуйте, продолжаем решать задачи на Java языке, ниже преставлены 30 задач.
Скачать исходники для статьи можно ниже
[sape]
Примеры на 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