Ось приклад створення інтерфейсу на основі узагальнених типів (Generics), який містить методи для пошуку максимального та мінімального чисел в масиві з числових типів даних (Integer, Double, Long):
public interface NumberSearch {
T findMax(T[] numbers);
T findMin(T[] numbers);
}
Далі можна реалізувати цей інтерфейс для конкретних типів даних:
public class IntegerSearch implements NumberSearch {
@Override
public Integer findMax(Integer[] numbers) {
Integer max = numbers[0];
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
}
return max;
}
@Override
public Integer findMin(Integer[] numbers) {
Integer min = numbers[0];
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] < min) {
min = numbers[i];
}
}
return min;
}
}
public class DoubleSearch implements NumberSearch {
@Override
public Double findMax(Double[] numbers) {
Double max = numbers[0];
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
}
return max;
}
@Override
public Double findMin(Double[] numbers) {
Double min = numbers[0];
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] < min) {
min = numbers[i];
}
}
return min;
}
}
public class LongSearch implements NumberSearch {
@Override
public Long findMax(Long[] numbers) {
Long max = numbers[0];
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
}
return max;
}
@Override
public Long findMin(Long[] numbers) {
Long min = numbers[0];
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] < min) {
min = numbers[i];
}
}
return min;
}
}
Тепер можна використовувати ці класи для пошуку максимального та мінімального чисел у вхідних масивах:
public class Main {
public static void main(String[] args) {
Integer[] integers = {5, 2, 8, 1, 9};
IntegerSearch integerSearch = new IntegerSearch();
Integer maxInteger = integerSearch.findMax(integers);
Integer minInteger = integerSearch.findMin(integers);
System.out.println("Max integer: " + maxInteger);
System.out.println("Min integer: " + minInteger);
}
Цей код виведе наступний результат:
Max integer: 9 Min integer: 1 Max double: 5.1 Min double: 1.8 Max long: 2000 Min long: 500
2
public class StringHelper {
public static String reverseWords(String sentence) {
// Split the sentence into an array of words
String[] words = sentence.split(" ");
// Reverse each word in the array
for (int i = 0; i < words.length; i++) {
words[i] = reverseString(words[i]);
}
// Join the reversed words back into a sentence
String reversedSentence = String.join(" ", words);
return reversedSentence;
}
public static String reverseString(String input) {
// Convert the input string to a character array
char[] array = input.toCharArray();
// Reverse the character array
for (int i = 0; i < array.length / 2; i++) {
char temp = array[i];
array[i] = array[array.length - 1 - i];
array[array.length - 1 - i] = temp;
}
// Convert the character array back to a string
String reversedString = new String(array);
return reversedString;
}
public static void main(String[] args) {
String sentence = "Hello World";
String reversedSentence = reverseWords(sentence);
System.out.println(reversedSentence); // Output: olleH dlroW
}
}
3
public class Main {
public static void main(String[] args) {
MyClass stringObject = new MyClass<>("Hello");
stringObject.print();
MyClass<Integer> intObject = new MyClass<>(123);
intObject.print();
MyClass<Double> doubleObject = new MyClass<>(3.14);
doubleObject.print();
}
}
class MyClass {
private T data;
public MyClass(T data) {
this.data = data;
}
public void print() {
System.out.println(data);
}
Ось приклад створення інтерфейсу на основі узагальнених типів (Generics), який містить методи для пошуку максимального та мінімального чисел в масиві з числових типів даних (Integer, Double, Long): public interface NumberSearch {
T findMax(T[] numbers);
T findMin(T[] numbers);
}
Далі можна реалізувати цей інтерфейс для конкретних типів даних:
public class IntegerSearch implements NumberSearch {
@Override
public Integer findMax(Integer[] numbers) {
Integer max = numbers[0];
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
}
return max;
}
}
public class DoubleSearch implements NumberSearch {
@Override
public Double findMax(Double[] numbers) {
Double max = numbers[0];
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
}
return max;
}
}
public class LongSearch implements NumberSearch {
@Override
public Long findMax(Long[] numbers) {
Long max = numbers[0];
for (int i = 1; i < numbers.length; i++) {
if (numbers[i] > max) {
max = numbers[i];
}
}
return max;
}
} Тепер можна використовувати ці класи для пошуку максимального та мінімального чисел у вхідних масивах: public class Main { public static void main(String[] args) { Integer[] integers = {5, 2, 8, 1, 9}; IntegerSearch integerSearch = new IntegerSearch(); Integer maxInteger = integerSearch.findMax(integers); Integer minInteger = integerSearch.findMin(integers); System.out.println("Max integer: " + maxInteger); System.out.println("Min integer: " + minInteger);
} Цей код виведе наступний результат:
Max integer: 9 Min integer: 1 Max double: 5.1 Min double: 1.8 Max long: 2000 Min long: 500
2 public class StringHelper { public static String reverseWords(String sentence) { // Split the sentence into an array of words String[] words = sentence.split(" ");} 3 public class Main { public static void main(String[] args) { MyClass stringObject = new MyClass<>("Hello");
stringObject.print();
}
class MyClass {
private T data;
}