Skip to content

Commit baa9941

Browse files
committed
first sorting algorithm in sortable
1 parent 382a84a commit baa9941

File tree

7 files changed

+51
-23
lines changed

7 files changed

+51
-23
lines changed

.idea/gradle.xml

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/inspectionProfiles/Project_Default.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/main/java/classesToSort/App.java

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,25 @@
22

33
import interfaces.Printable;
44

5+
import java.util.Scanner;
6+
57
public class App implements Printable {
68

9+
710
public static void main(String[] args) {
11+
ClientSortingSystem clientSortingSystem = new ClientSortingSystem();
12+
Scanner scanner = new Scanner(System.in);
13+
App app = new App();
14+
15+
app.printMainMenu();
16+
String input = scanner.nextLine();
17+
int mainOption = Integer.parseInt(input);
818

19+
switch (mainOption){
20+
case 1 -> System.out.println(clientSortingSystem.getClientList());
21+
case 2 -> app.printNameSortingOptions();
22+
case 3 -> app.printIdSortingOptions();
23+
case 4 -> app.printCredentialsMenu();
24+
}
925
}
1026
}

src/main/java/classesToSort/Client.java

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -59,30 +59,22 @@ public int getIdNumber() {
5959

6060
private static class Credentials{ // ДЕЛАТЬ ВЛОЖЕННЫМ ИЛИ НЕТ
6161
private final String phoneNumber;
62-
private final String address;
6362
private final String email;
6463

6564
public Credentials(CredBuilder credBuilder) {
6665
this.phoneNumber = credBuilder.phoneNumber;
67-
this.address = credBuilder.address;
6866
this.email = credBuilder.email;
6967
}
7068

7169
public static class CredBuilder{
7270
private String phoneNumber;
73-
private String address;
7471
private String email;
7572

7673
public CredBuilder phoneNumber(String phoneNumber){
7774
this.phoneNumber = phoneNumber;
7875
return this;
7976
}
8077

81-
public CredBuilder address(String address){
82-
this.address = address;
83-
return this;
84-
}
85-
8678
public CredBuilder email(String email){
8779
this.email = email;
8880
return this;
@@ -97,10 +89,6 @@ public String getPhoneNumber() {
9789
return phoneNumber;
9890
}
9991

100-
public String getAddress() {
101-
return address;
102-
}
103-
10492
public String getEmail() {
10593
return email;
10694
}

src/main/java/classesToSort/ClientSortingSystem.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,9 @@
44
import java.util.List;
55

66
public class ClientSortingSystem {
7-
List<Client> clientList = new ArrayList<>();
7+
private final List<Client> clientList = new ArrayList<>();
8+
9+
public List<Client> getClientList() {
10+
return List.copyOf(clientList);
11+
}
812
}

src/main/java/interfaces/Printable.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -56,8 +56,7 @@ default void printCredentialsMenu(){
5656
System.out.println(
5757
"Sort clients by:\n" +
5858
"1) Phone numbers\n" +
59-
"2) Addresses\n" +
60-
"3) Emails\n"
59+
"2) Emails\n"
6160
);
6261
}
6362

@@ -75,14 +74,6 @@ default void printPhoneSortingOptions(){
7574
);
7675
}
7776

78-
default void printAddressesSortingOption(){
79-
System.out.println(
80-
"Sort clients by address:\n" + // так как в одну строку то меньше опций
81-
"1) In alphabetic order\n" +
82-
"2) Postal code\n"
83-
);
84-
}
85-
8677
default void printEmailSortingOptions(){
8778
System.out.println(
8879
"Sort clients by email:\n" +
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,27 @@
11
package interfaces;
22

3+
import java.util.List;
4+
35
public interface Sortable {
46

7+
default int[] bubbleIntegerSorting(int[] numbers) {
8+
boolean isSwaped = true;
9+
int lastIndex = numbers.length - 1;
10+
11+
while (isSwaped) {
12+
isSwaped = false;
13+
int range = lastIndex;
14+
15+
for (int i = 0; i < range; i++) {
16+
if (numbers[i] > numbers[i + 1]) {
17+
int number1 = numbers[i];
18+
numbers[i] = numbers[i + 1];
19+
numbers[i + 1] = number1;
20+
isSwaped = true;
21+
lastIndex = i + 1;
22+
}
23+
}
24+
}
25+
return numbers;
26+
}
527
}

0 commit comments

Comments
 (0)