// 1st task
public class Main01 {
public static void createPicture(int n) {
if (n > 0) {
int i;
int j;
int min;
for (i = 1; i <= n; i++) {
for (j = 1; j <= n; j++) {
min = i < j ? i : j;
System.out.print(n - min + 1);
}
for (j = n - 1; j >= 1; j--) {
min = i < j ? i : j;
System.out.print(n - min + 1);
}
System.out.println();
}
for (i = n - 1; i >= 1; i--) {
for (j = 1; j <= n; j++) {
min = i < j ? i : j;
System.out.print(n - min + 1);
}
for (j = n - 1; j >= 1; j--) {
min = i < j ? i : j;
System.out.print(n - min + 1);
}
System.out.println();
}
} else {
throw new IllegalArgumentException("n must be positive");
}
}
public static void main(String[] args) {
createPicture(4);
}
}
// 2nd task
import java.util.ArrayList;
public class Main02 {
public static ArrayList<Integer> findNPerfectNumbers(int n) {
int sum;
ArrayList<Integer> resultList = new ArrayList<>();
for (int i = 6; resultList.size() < n; i++) {
ArrayList<Integer> factorList = new ArrayList<>();
for (int j = 1; j <= i / 2; j++) {
if (i % j == 0) {
factorList.add(j);
}
}
sum = 0;
for (Integer f : factorList) {
sum += f;
}
if (sum == i) {
resultList.add(i);
}
}
return resultList;
}
public static void main(String[] args) {
System.out.println(findNPerfectNumbers(4));
}
}
// 3rd task - Dto Class (Lombok dependency)
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
public class PostDto {
private long userId;
private long id;
private String title;
private String body;
}
// 3rd task (Jackson dependency)
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.List;
public class Main03 {
private static final String POSTS_API_URL = "https://jsonplaceholder.typicode.com/posts";
public static void getPosts() throws IOException, InterruptedException {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.GET()
.header("accept", "application/json")
.uri(URI.create(POSTS_API_URL))
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
ObjectMapper mapper = new ObjectMapper();
List<PostDto> posts = mapper.readValue(response.body(), new TypeReference<>() {
});
posts.forEach(System.out::println);
}
public static void main(String[] args) throws IOException, InterruptedException {
getPosts();
}
}