mirror of
https://github.com/ASDjonok/OOP_IO-2x_2023.git
synced 2026-04-01 21:21:50 +03:00
Compare commits
9 Commits
ІО-23/06-Г
...
IO-23/19-М
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6999512789 | ||
|
|
a5b76b264f | ||
|
|
65b34dffdf | ||
|
|
571b69b3ce | ||
|
|
c85bde4d42 | ||
|
|
3f7ed6860e | ||
|
|
399941844f | ||
|
|
f385bff73d | ||
|
|
6d8171ad4c |
68
Lab4.java
Normal file
68
Lab4.java
Normal file
@@ -0,0 +1,68 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Comparator;
|
||||||
|
|
||||||
|
public class Lab4 {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Students student1 = new Students("Максим", 22, "ФІОТ", 91, 8);
|
||||||
|
Students students2 = new Students("Ольга", 19, "ФЕА", 34, 4);
|
||||||
|
Students students3 = new Students("Владислав", 18, "ФММ", 55, 10);
|
||||||
|
Students students4 = new Students("Марія", 20, "ХТФ", 11, 6);
|
||||||
|
Students students5 = new Students("Петро", 23, "ФМФ", 78, 2);
|
||||||
|
Students[] students = {student1, students2, students3, students4, students5};
|
||||||
|
System.out.println("Список студентів: ");
|
||||||
|
System.out.println(String.format("%-9s | %-3s | %-9s | %-11s | %s", "Ім'я", "Вік", "Факультет", "Номер групи", "Рівень знань(від 0 до 10)"));
|
||||||
|
for (Students student : students) {
|
||||||
|
System.out.println(String.format("%-9s | %-3s | %-9s | %-11s | %s", student.getName(), student.getAge(), student.getNameOfFaculty(), student.getNumberOfGroup(), student.getLvlOfKnowledge()));
|
||||||
|
}
|
||||||
|
Scanner scan = new Scanner(System.in);
|
||||||
|
System.out.println("Введіть за чим сортувати: ");
|
||||||
|
System.out.println("1 - Зростання \n2 - Спадання:");
|
||||||
|
int incOrDec = scan.nextInt();
|
||||||
|
System.out.println("Введіть за чим хочете сортувати: ");
|
||||||
|
System.out.println("1 - Ім'я \n2 - Вік \n3 - Факультет\n4 - Група\n5 - Рівень знань: ");
|
||||||
|
int num = scan.nextInt();
|
||||||
|
if (incOrDec == 1) {
|
||||||
|
switch (num) {
|
||||||
|
case 1:
|
||||||
|
Arrays.sort(students, Comparator.comparing(Students::getName));
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
Arrays.sort(students, Comparator.comparingInt(Students::getAge));
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
Arrays.sort(students, Comparator.comparing(Students::getNameOfFaculty));
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
Arrays.sort(students, Comparator.comparingInt(Students::getNumberOfGroup));
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
Arrays.sort(students, Comparator.comparingInt(Students::getLvlOfKnowledge));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
switch (num) {
|
||||||
|
case 1:
|
||||||
|
Arrays.sort(students, Comparator.comparing(Students::getName).reversed());
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
Arrays.sort(students, Comparator.comparingInt(Students::getAge).reversed());
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
Arrays.sort(students, Comparator.comparing(Students::getNameOfFaculty).reversed());
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
Arrays.sort(students, Comparator.comparingInt(Students::getNumberOfGroup).reversed());
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
Arrays.sort(students, Comparator.comparingInt(Students::getLvlOfKnowledge).reversed());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println(String.format("%-9s | %-3s | %-9s | %-11s | %s", "Ім'я", "Вік", "Факультет", "Номер групи", "Рівень знань(від 0 до 10)"));
|
||||||
|
for (Students student : students) {
|
||||||
|
System.out.println(String.format("%-9s | %-3s | %-9s | %-11s | %s", student.getName(), student.getAge(), student.getNameOfFaculty(), student.getNumberOfGroup(), student.getLvlOfKnowledge()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
107
Lab5.java
Normal file
107
Lab5.java
Normal file
@@ -0,0 +1,107 @@
|
|||||||
|
public class Lab5 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
StringBuilder txt = new StringBuilder("соціальна мережа, яка є мережею мікроблогів. Дає змогу користувачам надсилати короткі текстові повідомлення (до 2802 символів, до 2017 року — до 140 символів), використовуючи SMS,");
|
||||||
|
System.out.println("Початковий текст:");
|
||||||
|
System.out.println(txt);
|
||||||
|
Text text = new Text(txt);
|
||||||
|
StringBuilder result = text.splitText();
|
||||||
|
System.out.println("Змінений текст:");
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Text {
|
||||||
|
private final StringBuilder textString;
|
||||||
|
public Text(StringBuilder textString){
|
||||||
|
this.textString = textString;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StringBuilder splitText() {
|
||||||
|
StringBuilder result = new StringBuilder();
|
||||||
|
String[] sentenceStrings = textString.toString().split("(?<=[?.!])\\s?");
|
||||||
|
for (String s : sentenceStrings) {
|
||||||
|
StringBuilder sb = new StringBuilder(s);
|
||||||
|
Sentence sentence = new Sentence(sb);
|
||||||
|
result.append(sentence.splitSentence());
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
class Sentence {
|
||||||
|
private final StringBuilder sentence;
|
||||||
|
|
||||||
|
public Sentence(StringBuilder sentence) {
|
||||||
|
this.sentence = sentence;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public StringBuilder splitSentence() {
|
||||||
|
StringBuilder returnSentence = new StringBuilder();
|
||||||
|
String text = sentence.toString();
|
||||||
|
String[] words = text.split(" ");
|
||||||
|
for (String w : words) {
|
||||||
|
StringBuilder wb = new StringBuilder(w);
|
||||||
|
Word word = new Word(wb);
|
||||||
|
returnSentence.append(word.splitWord()).append(" ");
|
||||||
|
}
|
||||||
|
return returnSentence;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Word {
|
||||||
|
private final StringBuilder word;
|
||||||
|
|
||||||
|
public Word(StringBuilder word) {
|
||||||
|
this.word = word;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StringBuilder splitWord() {
|
||||||
|
StringBuilder returnWord = new StringBuilder();
|
||||||
|
String wordstring = word.toString();
|
||||||
|
String[] letters = wordstring.split("");
|
||||||
|
String firstLetter = wordstring.substring(0, 1);
|
||||||
|
returnWord.append(firstLetter);
|
||||||
|
for (String l: letters){
|
||||||
|
StringBuilder lb = new StringBuilder(l);
|
||||||
|
Letter letter = new Letter(lb);
|
||||||
|
if (firstLetter.equals(letter.getLetter().toString())){
|
||||||
|
returnWord.append("");
|
||||||
|
}else{
|
||||||
|
if(l.equals("!") || l.equals("?") || l.equals(".") || l.equals(",") || l.equals(":") || l.equals(";")){
|
||||||
|
Punctuation punctuation = new Punctuation(lb);
|
||||||
|
returnWord.append(punctuation.getPunctuation());
|
||||||
|
}else{
|
||||||
|
returnWord.append(letter.getLetter());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return returnWord;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Letter {
|
||||||
|
private final StringBuilder letter;
|
||||||
|
|
||||||
|
public Letter(StringBuilder letter) {
|
||||||
|
this.letter = letter;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StringBuilder getLetter() {
|
||||||
|
return letter;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class Punctuation {
|
||||||
|
private final StringBuilder punctuation;
|
||||||
|
|
||||||
|
public Punctuation(StringBuilder punctuation) {
|
||||||
|
this.punctuation = punctuation;
|
||||||
|
}
|
||||||
|
|
||||||
|
public StringBuilder getPunctuation() {
|
||||||
|
return punctuation;
|
||||||
|
}
|
||||||
|
}
|
||||||
30
Students.java
Normal file
30
Students.java
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
public class Students {
|
||||||
|
private String name;
|
||||||
|
private int age;
|
||||||
|
private String nameOfFaculty;
|
||||||
|
private int numberOfGroup;
|
||||||
|
private int lvlOfKnowledge;
|
||||||
|
|
||||||
|
public Students(String name, int age, String nameOfFaculty, int numberOfGroup, int lvlOfKnowledge) {
|
||||||
|
this.name = name;
|
||||||
|
this.age = age;
|
||||||
|
this.nameOfFaculty = nameOfFaculty;
|
||||||
|
this.numberOfGroup = numberOfGroup;
|
||||||
|
this.lvlOfKnowledge = lvlOfKnowledge;
|
||||||
|
}
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
public int getAge() {
|
||||||
|
return age;
|
||||||
|
}
|
||||||
|
public String getNameOfFaculty() {
|
||||||
|
return nameOfFaculty;
|
||||||
|
}
|
||||||
|
public int getNumberOfGroup() {
|
||||||
|
return numberOfGroup;
|
||||||
|
}
|
||||||
|
public int getLvlOfKnowledge() {
|
||||||
|
return lvlOfKnowledge;
|
||||||
|
}
|
||||||
|
}
|
||||||
29
lab1.java
Normal file
29
lab1.java
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class lab1 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
float S = 0, i, j;
|
||||||
|
int C = 1;
|
||||||
|
Scanner scan = new Scanner(System.in);
|
||||||
|
System.out.println("Введіть значення a (a>1):");
|
||||||
|
int a = scan.nextInt();
|
||||||
|
System.out.println("Введіть значення b:");
|
||||||
|
int b = scan.nextInt();
|
||||||
|
System.out.println("Введіть значення n:");
|
||||||
|
int n = scan.nextInt();
|
||||||
|
System.out.println("Введіть значення m:");
|
||||||
|
int m = scan.nextInt();
|
||||||
|
for (i = a; i <= n; i++) {
|
||||||
|
if (i - C == 0) {
|
||||||
|
System.out.println("Ділення на 0");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for (j = b; j <= m; j++) {
|
||||||
|
S += (i - j) / (i - C);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println(S);
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
78
lab2.java
Normal file
78
lab2.java
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
import java.util.Scanner;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
public class lab2 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Scanner scan = new Scanner(System.in);
|
||||||
|
|
||||||
|
System.out.println("Введіть кількість рядків матриці А:");
|
||||||
|
int mA = scan.nextInt();
|
||||||
|
System.out.println("Введіть кількість стовпців матриці А:");
|
||||||
|
int nA = scan.nextInt();
|
||||||
|
System.out.println("Введіть кількість рядків матриці B:");
|
||||||
|
int mB = scan.nextInt();
|
||||||
|
if (nA != mB) {
|
||||||
|
System.out.println("Щоб помножити матриці, потрібно, щоб кількість стовпців матриці А == кількості рядків матриці B");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
System.out.println("Введіть кількість стовпців матриці B:");
|
||||||
|
int nB = scan.nextInt();
|
||||||
|
System.out.println("Границя значень у матрицях:");
|
||||||
|
int upperbound = scan.nextShort();
|
||||||
|
int[][] matrixA = new int[mA][nA];
|
||||||
|
int[][] matrixB = new int[mB][nB];
|
||||||
|
int[][] matrixC = new int[mA][nB];
|
||||||
|
generationMatrixes(matrixA, matrixB, upperbound);
|
||||||
|
printMatrixC(matrixA, matrixB, matrixC);
|
||||||
|
AverageValueofElementsofEachColumn(matrixC);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void AverageValueofElementsofEachColumn(int[][] matrixC) {
|
||||||
|
System.out.println("Середнє значення елементів кожного стовпчика матриці:");
|
||||||
|
System.out.print("||");
|
||||||
|
for (int i = 0; i < matrixC.length; i++) {
|
||||||
|
double sum = 0;
|
||||||
|
for (int j = 0; j < matrixC[i].length; j++) {
|
||||||
|
sum += matrixC[j][i];
|
||||||
|
}
|
||||||
|
System.out.printf(" %.2f ||", (sum) / matrixC.length);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void printMatrixC(int[][] matrixA, int[][] matrixB, int[][] matrixC) {
|
||||||
|
for (int i = 0; i < matrixC.length; i++) {
|
||||||
|
for (int j = 0; j < matrixC[i].length; j++) {
|
||||||
|
for (int k = 0; k < matrixA[j].length; k++) {
|
||||||
|
matrixC[i][j] += matrixA[i][k] * matrixB[k][j];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println("Матриця С:");
|
||||||
|
for (int i = 0; i < matrixC.length; i++) {
|
||||||
|
for (int j = 0; j < matrixC[i].length; j++) {
|
||||||
|
System.out.printf("|%4d", matrixC[i][j]);
|
||||||
|
}
|
||||||
|
System.out.println("|");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void generationMatrixes(int[][] matrixA, int[][] matrixB, int upperbound) {
|
||||||
|
Random rand = new Random();
|
||||||
|
System.out.println("Матриця А:");
|
||||||
|
for (short i = 0; i < matrixA.length; i++) {
|
||||||
|
for (int j = 0; j < matrixA[i].length; j++) {
|
||||||
|
matrixA[i][j] = rand.nextInt(upperbound);
|
||||||
|
System.out.printf("|%4d", matrixA[i][j]);
|
||||||
|
}
|
||||||
|
System.out.println("|");
|
||||||
|
}
|
||||||
|
System.out.println("Матриця B:");
|
||||||
|
for (short i = 0; i < matrixB.length; i++) {
|
||||||
|
for (int j = 0; j < matrixB[i].length; j++) {
|
||||||
|
matrixB[i][j] = rand.nextInt(upperbound);
|
||||||
|
System.out.printf("|%4d", matrixB[i][j]);
|
||||||
|
}
|
||||||
|
System.out.println("|");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
21
lab3.java
Normal file
21
lab3.java
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
public class lab3 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
StringBuilder txt = new StringBuilder("— соціальна мережа, яка є мережею мікроблогів, дає змогу користувачам надсилати короткі текстові повідомлення (до 2802 символів, до 2017 року — до 140 символів), використовуючи SMS,");
|
||||||
|
System.out.println(txt);
|
||||||
|
String[] words = txt.toString().split("\\s+");
|
||||||
|
StringBuilder result = new StringBuilder();
|
||||||
|
for (int i = 0; i < words.length; i++) {
|
||||||
|
StringBuilder word = new StringBuilder(words[i]);
|
||||||
|
StringBuilder firstLetter = new StringBuilder(word.substring(0, 1));
|
||||||
|
if (word.substring(1).contains(firstLetter.toString().toLowerCase()) || word.substring(1).contains(firstLetter)) {
|
||||||
|
String changedWord = firstLetter + word.substring(1).replaceAll(firstLetter.toString().toLowerCase(), "").replaceAll(firstLetter.toString(), "");
|
||||||
|
result.append(changedWord);
|
||||||
|
result.append(" ");
|
||||||
|
} else {
|
||||||
|
result.append(word);
|
||||||
|
result.append(" ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println(result);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,13 +1,36 @@
|
|||||||
public class Lab2 {
|
public class Lab2 {
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
int[] array = {1, 2, 3};
|
final int A = 2;
|
||||||
/*for (int i = 0; i < array.length; i++) {
|
final int[][] MATRIX_B = {
|
||||||
|
{1, 202, 1, 1, 202, 3, 1, 202, 3,},
|
||||||
|
{1, 202, 1, 1, 202, 3, 1, 202, 3,},
|
||||||
|
{1, 1, 3, 1, 202, 3, 1, 202, 3,},
|
||||||
|
// {4, 5, 6,},
|
||||||
|
};
|
||||||
|
|
||||||
|
int[][] MATRIX_C = multiplication(A, MATRIX_B);
|
||||||
|
|
||||||
|
print(MATRIX_C);
|
||||||
|
|
||||||
|
System.out.println("Sum of smallest elements in every column: " + sumOfSmallestElementsInEveryColumn(MATRIX_C));
|
||||||
|
|
||||||
|
/*int[] array = {1, 2, 3};
|
||||||
|
int[] array2 = new int[3];
|
||||||
|
Object[] array3 = new String[3];
|
||||||
|
System.out.println(array3[0]); //nothing, trash from the memory, null || null
|
||||||
|
System.out.println(array2[0]); //nothing, trash from the memory, null || 0
|
||||||
|
System.out.println(array[0]); // || 1
|
||||||
|
|
||||||
|
int[][] matrix2 = new int[2][3];
|
||||||
|
matrix2[0] = new int[2];
|
||||||
|
matrix2[1] = new int[1];
|
||||||
|
for (int i = 0; i < array.length; i++) {
|
||||||
if (i % 2 == 0) {
|
if (i % 2 == 0) {
|
||||||
System.out.println("!" + array[i]);
|
System.out.println("!" + array[i]);
|
||||||
} else {
|
} else {
|
||||||
System.out.println("?" + array[i]);
|
System.out.println("?" + array[i]);
|
||||||
}
|
}
|
||||||
}*/
|
}
|
||||||
|
|
||||||
for (int i = 0; i < array.length; i+=2) {
|
for (int i = 0; i < array.length; i+=2) {
|
||||||
System.out.println("!" + array[i]);
|
System.out.println("!" + array[i]);
|
||||||
@@ -22,5 +45,58 @@ public class Lab2 {
|
|||||||
{1, 2},
|
{1, 2},
|
||||||
{3}
|
{3}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// C=a×B, a - const
|
||||||
|
|
||||||
|
|
||||||
|
// final int[][] MATRIX_C = int;
|
||||||
|
|
||||||
|
|
||||||
|
MATRIX_B[0][0] = 2;
|
||||||
|
MATRIX_B[0] = new int[]{1, 2};
|
||||||
|
System.out.println(MATRIX_B[0][0]);
|
||||||
|
MATRIX_B = new int[][]{
|
||||||
|
{1, 2},
|
||||||
|
{3}
|
||||||
|
};*/
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int sumOfSmallestElementsInEveryColumn(final int[][] MATRIX_C) {
|
||||||
|
// todo check different length of rows
|
||||||
|
// todo try to change i and j
|
||||||
|
// todo check repetition of minimal elements
|
||||||
|
int sum = 0;
|
||||||
|
for (int i = 0; i < MATRIX_C[0].length; i++) {
|
||||||
|
int tmpSmallest = MATRIX_C[0][i];
|
||||||
|
for (int j = 1; j < MATRIX_C.length; j++) {
|
||||||
|
if (MATRIX_C[j][i] < tmpSmallest) {
|
||||||
|
tmpSmallest = MATRIX_C[j][i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sum += tmpSmallest;
|
||||||
|
}
|
||||||
|
return sum;
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void print(final int[][] MATRIX_C) {
|
||||||
|
for (int i = 0; i < MATRIX_C.length; i++) {
|
||||||
|
for (int j = 0; j < MATRIX_C[i].length; j++) {
|
||||||
|
// System.out.print(MATRIX_C[i][j] + "\t");//printf("%4d",
|
||||||
|
System.out.printf("%4d ", MATRIX_C[i][j]);//printf("%4d",
|
||||||
|
}
|
||||||
|
System.out.println();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static int[][] multiplication(int A, final int[][] MATRIX_B) {
|
||||||
|
final int[][] MATRIX_C = new int[MATRIX_B.length][/*MATRIX_B[0].length*/]; // todo !!!DANGER different lengths of rows
|
||||||
|
// final int[][] MATRIX_C = MATRIX_B;
|
||||||
|
for (int i = 0; i < MATRIX_B.length; i++) {
|
||||||
|
MATRIX_C[i] = new int[MATRIX_B[i].length];
|
||||||
|
for (int j = 0; j < MATRIX_B[i].length; j++) {
|
||||||
|
MATRIX_C[i][j] = MATRIX_B[i][j] * A;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return MATRIX_C;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user