Самые важные вопросы для собеседования на Java с ответами Часть -10 (на основе программ)
Вопрос: Напишите Java-программу, которая меняет местами значения двух переменных без использования временной переменной.
Ответ:
int a = 10;
int b = 20;
a = a + b;
b = a - b;
a = a - b;
Вопрос: Напишите Java-программу для нахождения факториала заданного числа.
Ответ:
int number = 5;
int factorial = 1;
for (int i = 1; i <= number; i++) {
factorial *= i;
}
Вопрос: Напишите Java-программу для проверки того, является ли строка палиндромом.
Ответ:
String str = "madam";
boolean isPalindrome = true;
for (int i = 0; i < str.length() / 2; i++) {
if (str.charAt(i) != str.charAt(str.length() - 1 - i)) {
isPalindrome = false;
break;
}
}
Вопрос: Напишите Java-программу для нахождения максимального и минимального значений в массиве.
Ответ:
int[] numbers = {5, 10, 3, 8, 2};
int max = numbers[0];
int min = numbers[0];
for (int i = 1; i < numbers.length; i++)
{
if (numbers[i] > max)
{ max = numbers[i];
}
if (numbers[i] < min) {
min = numbers[i];
} }
Вопрос: Напишите Java-программу для сортировки массива целых чисел по возрастанию.
Ответ:
int[] numbers = {5, 10, 3, 8, 2};
Arrays.sort(numbers);
Вопрос: Напишите Java-программу для нахождения суммы всех элементов массива.
Ответ:
int[] numbers = {5, 10, 3, 8, 2};
int sum = 0;
for (int number : numbers) {
sum += number;
}
Вопрос: Напишите Java-программу для разворота строки.
Ответ:
String str = "Hello";
String reversed = new StringBuilder(str).reverse().toString();
Вопрос: Напишите Java-программу для поиска простых чисел в заданном диапазоне.
Ответ:
int start = 1;
int end = 100;
for (int i = start; i <= end; i++) {
boolean isPrime = true;
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
System.out.print(i + " ");
} }
Вопрос: Напишите Java-программу для удаления дубликатов из массива.
Ответ:
int[] numbers = {1, 2, 3, 2, 4, 1, 5};
Set<Integer> uniqueNumbers = new HashSet<>();
for (int number : numbers) {
uniqueNumbers.add(number);
} // Convert the set back to an array (if required)
int[] uniqueArray = uniqueNumbers.stream().mapToInt(Integer::intValue).toArray();
Вопрос: Напишите Java-программу для подсчета числа вхождений каждого элемента в массив.
Ответ:
int[] numbers = {1, 2, 3, 2, 4, 1, 5};
Map<Integer, Integer> countMap = new HashMap<>();
for (int number : numbers) {
countMap.put(number, countMap.getOrDefault(number, 0) + 1);
}
Вопрос: Напишите Java-программу для нахождения второго по величине числа в массиве.
Ответ:
int[] numbers = {5, 10, 3, 8, 2};
int max = Integer.MIN_VALUE;
int secondMax = Integer.MIN_VALUE;
for (int number : numbers) {
if (number > max) {
secondMax = max;
max = number;
}
else if (number > secondMax && number < max) {
secondMax = number;
} }
Вопрос: Напишите Java-программу для проверки того, является ли число простым.
Ответ:
int number = 13;
boolean isPrime = true;
for (int i = 2; i <= Math.sqrt(number); i++) {
if (number % i == 0) {
isPrime = false;
break;
} }
Вопрос: Напишите Java-программу для нахождения суммы цифр в числе.
Ответ:
int number = 12345;
int sum = 0;
while (number != 0) {
sum += number % 10;
number /= 10;
}
Вопрос: Напишите Java-программу для проверки того, является ли строка анаграммой другой строки.
Ответ:
String str1 = "listen";
String str2 = "silent";
boolean isAnagram = false;
if (str1.length() == str2.length()) {
char[] charArray1 = str1.toCharArray();
char[] charArray2 = str2.toCharArray();
Arrays.sort(charArray1);
Arrays.sort(charArray2);
isAnagram = Arrays.equals(charArray1, charArray2);
}
Вопрос: Напишите Java-программу для поиска общих элементов между двумя массивами.
Ответ:
int[] array1 = {1, 2, 3, 4, 5};
int[] array2 = {4, 5, 6, 7, 8};
Set<Integer> commonElements = new HashSet<>();
for (int element : array1) {
if (Arrays.binarySearch(array2, element) >= 0) {
commonElements.add(element);
} }
Вопрос: Написать Java-программу для генерации ряда Фибоначчи.
Ответ:
int n = 10;
int[] fibonacciSeries = new int[n];
fibonacciSeries[0] = 0;
fibonacciSeries[1] = 1;
for (int i = 2; i < n; i++) {
fibonacciSeries[i] = fibonacciSeries[i - 1] + fibonacciSeries[i - 2];
}
Вопрос: Напишите Java-программу для нахождения наибольшего простого множителя числа.
Ответ:
long number = 13195;
long largestPrimeFactor = 2;
while (number % 2 == 0){ number /= 2; }
for (long i = 3; i <= Math.sqrt(number); i += 2) {
while (number % i == 0) {
largestPrimeFactor = i;
number /= i;
} }
if (number > 2) {
largestPrimeFactor = number;
}
Вопрос: Напишите Java-программу для реверсирования связанного списка.
Ответ:
class Node {
int data;
Node next;
Node(int data) {
this.data = data;
} }
class LinkedList {
Node head;
void reverse() {
Node prev = null;
Node current = head;
Node next = null;
while (current != null) {
next = current.next;
current.next = prev;
prev = current;
current = next;
}
head = prev;
} }
Вопрос: Напишите Java-программу для реализации алгоритма двоичного поиска.
Ответ:
int[] sortedArray = {2, 4, 6, 8, 10, 12};
int target = 8;
int low = 0;
int high = sortedArray.length - 1;
int index = -1;
while (low <= high) {
int mid = (low + high) / 2;
if (sortedArray[mid] == target) {
index = mid;
break;
}
else if (sortedArray[mid] < target) {
low = mid + 1;
} else {
high = mid - 1;
} }
Вопрос: Напишите Java-программу для поиска максимального встречающегося символа в строке.
Ответ:
String str = "hello world";
int[] charCount = new int[256];
for (char c : str.toCharArray()) {
charCount[c]++;
}
char maxChar = ' ';
int maxCount = 0;
for (int i = 0; i < charCount.length; i++) {
if (charCount[i] > maxCount) {
maxChar = (char) i;
maxCount = charCount[i];
}
}
Спасибо что читаете!
+1
+1
+1
+1
+1