java примеры

Примеры на Java (часть 3)

Здравствуйте, продолжаем решать задачи на Java языке, ниже преставлены 30 задач.

Скачать исходники для статьи можно ниже

Бизнес сообщество BizNet - здесь

Примеры на 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

Введите свой email адрес для того, чтобы подписаться на мой блог:


knopkisoc

Добавить комментарий