8000 Homework6 Java1 by dmitrii-git · Pull Request #18 · LevinMK23/java1 · GitHub
[go: up one dir, main page]

Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
dac73eb
Merge pull request #6 from LevinMK23/feature2
LevinMK23 Jan 17, 2020
322febc
lesson2 classwork
LevinMK23 Jan 17, 2020
16a2b52
Merge remote-tracking branch 'origin/master'
LevinMK23 Jan 17, 2020
9ca4550
lesson2 HomeWork
LevinMK23 Jan 17, 2020
9e35035
lesson3 HomeWork
LevinMK23 Jan 20, 2020
2f2b4ad
Added test for HomeWork
LevinMK23 Jan 21, 2020
1700bdc
lesson3 HomeWork2
LevinMK23 Jan 21, 2020
10e2aeb
Decompression fixed, now work with any depth end values
LevinMK23 Jan 22, 2020
9225b7e
Added interesting task
LevinMK23 Jan 22, 2020
d245446
Merge remote-tracking branch 'origin/master'
LevinMK23 Jan 22, 2020
7b0a62c
Decompression fixed, now work with any depth end values
LevinMK23 Jan 24, 2020
d8db8b0
OOP inc
LevinMK23 Jan 28, 2020
55d8732
OOP override, overload
LevinMK23 Jan 31, 2020
2e4d0fc
Lesson 7. Java 1.
LevinMK23 Feb 4, 2020
e164310
Lesson 7. Java 1.
LevinMK23 Feb 4, 2020
34803d8
HomeWork lesson2 java1
dmitrii-git Feb 9, 2020
c8ca8f0
HomeWork lesson2 java1
dmitrii-git Feb 9, 2020
e0bb3df
Delete HomeWork.java
dmitrii-git Feb 9, 2020
2419a16
Add files via upload
dmitrii-git Feb 9, 2020
fd5526b
Create 1
dmitrii-git Feb 9, 2020
b0e5fe8
Homework2
dmitrii-git Feb 9, 2020
23ed4d6
Delete 1
dmitrii-git Feb 9, 2020
0b0c1c2
Delete HomeWork.java
dmitrii-git Feb 9, 2020
7c9870f
HomeWork lesson3 java1
dmitrii-git Feb 13, 2020
74a044c
Merge remote-tracking branch 'origin/master'
dmitrii-git Feb 13, 2020
a6d5d98
Delete Animal.java
dmitrii-git Feb 27, 2020
671ec5b
Delete Cat.java
dmitrii-git Feb 27, 2020
57b2974
Delete Dog.java
dmitrii-git Feb 27, 2020
27f6246
Delete Jump.java
dmitrii-git Feb 27, 2020
1b1e23a
Delete Run.java
dmitrii-git Feb 27, 2020
7f43eca
Delete Swim.java
dmitrii-git Feb 27, 2020
cd7018d
Delete Task.java
dmitrii-git Feb 27, 2020
1c76778
Delete D.java
dmitrii-git Feb 27, 2020
4a89088
Delete Animal.java
dmitrii-git Feb 27, 2020
bb44508
Delete Cat.java
dmitrii-git Feb 27, 2020
f328c19
Delete Dog.java
dmitrii-git Feb 27, 2020
93e1234
Delete Test.java
dmitrii-git Feb 27, 2020
ee61a55
Create rd
dmitrii-git Feb 27, 2020
6c4eba4
Add files via upload
dmitrii-git Feb 27, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .idea/artifacts/java1_jar2.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions .idea/java1-1.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion .idea/misc.xml

Some generated files are not rendered by default. Learn more about < B8CC a class="Link--inTextBlock js-ignore-this" href="https://docs.github.com/github/administering-a-repository/customizing-how-changed-files-appear-on-github">how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions .idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions input.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{"apple", "orange", "lemon", "banana", "apricot", "avocado", "broccoli", "carrot", "cherry", "garlic", "grape", "melon", "leak", "kiwi", "mango", "mushroom", "nut", "olive", "pea", "peanut", "pear", "pepper", "pineapple", "pumpkin", "potato"};


|_|X|_|
|_|_|_|
|_|_|O|
4 changes: 4 additions & 0 deletions src/java/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Manifest-Version: 1.0
Main-Class: lesson4.Main
Class-Path: sqlite-jdbc-3.28.0.jar

151 changes: 151 additions & 0 deletions src/java/lesson2/Cycles.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
package lesson2;

import java.util.Arrays;
import java.util.Collections;
import java.util.Random;
import java.util.Scanner;

public class Cycles {

static void printN(char c, int n) {
while (n-- > 0) System.out.print(c);
}

static void whileCycle() {
//пока выполняется условие { делать это }
int n = 5;
while (n > 0) {
System.out.println("n = " + n);
n--;
}
n = 5;
//[][][][][]
while (n-- > 0) System.out.print("[]");
System.out.println();
n = 0;
//[][[]][[[]]][[[[]]]][[[[[]]]]]
while (n < 5) {
printN('[', n + 1);
printN(']', n + 1);
n++;
}
System.out.println();
//multiply table 9 * 9
int i = 1, j = 1;
while (i < 10) {
j = 1;
while (j < 10) {
System.out.printf("%3d |", i * j);
j++;
}
System.out.println();
i++;
}
}

static void forCycle() {
for (int i = 1; i < 6; i++) {
System.out.println("n = " + i);
}
for (int i = 1; i <= 5; i++) {
for (int j = 0; j < i; j++) {
System.out.print('[');
}
for (int j = 0; j < i; j++) {
System.out.print(']');
}
}
System.out.println();
for (int i = 1; i < 10; i++) {
for (int j = 1; j < 10; j++) {
System.out.printf("%3d ", i * j);
}
System.out.println();
}
int a = 3, b = 7, c = 12;
//1 2 4 8 16 ....
// for (int i = 1, cnt = 0; cnt < 50; i <<= 1, cnt++) {
// System.out.print(i + " ");
// if (cnt % 10 == 0) System.out.println();
// }
for (int i = 1; i < 10000; i <<= 1) {
System.out.print(i + " ");
}
System.out.println();
for (int i = 1, cnt = 1; i < 100; i += cnt, cnt++) {
System.out.println(i);
}
}

static void arrays() {
int[] a = new int[]{3, 4, 5, 6, 7};
System.out.println(Arrays.toString(a));
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
System.out.println();
for (int i : a) {
System.out.print(i + " ");
}
//0,1,2,3,4,2,1,0
//out: max array value,
//and index of this value
//impl1 O(N) depend by array length
int[] mou = new int[]{0, 12, 3, 2, 0};
//int n = new Scanner(System.in).nextInt();
//int [] ar = new int[n];
//System.out.println(ar.length);
int peek = -1, index = -1;
int timeDifficult = 0;
for (int i = 0; i < mou.length; i++) {
timeDifficult++;
if (mou[i] > peek) {
peek = mou[i];
index = i;
}
}
System.out.println();
System.out.println("Processed by " + timeDifficult + " iteration");
System.out.println("Peek height - " + peek + " at index = " + index);
//impl2 O(logN)
int l = 0, r = mou.length - 1;
timeDifficult = 0;
while (r - l != 3) {
timeDifficult++;
int m = (l + r) / 2;
if (mou[m] > mou[m - 1]) {
l = m - 1;
} else r = m + 1;
}
System.out.println("Processed by " + timeDifficult + " iteration");
System.out.println("Peek height - " + mou[l + 1] + " at index = " + (l + 1));

}

static void deepArrays() {
int [][] a = new int[3][4];
System.out.println(a);
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 4; j++) {
a[i][j] = i * j;
System.out.printf("%3d", a[i][j]);
}
System.out.println();
}
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 3; j++) {
System.out.printf("%3d", a[j][i]);
}
System.out.println();
}
int [][] ar = new int[3][];
for (int i = 0; i < 3; i++) {
ar[i] = new int[new Random().nextInt(10)];
}
System.out.println(Arrays.deepToString(ar));
}

public static void main(String[] args) {
deepArrays();
}
}
47 changes: 47 additions & 0 deletions src/java/lesson2/IfCase.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package lesson2;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Scanner;

public class IfCase {
public static void main(String[] args) throws IOException {
int a = 4, b = 4;
if (a > 3 || ++b < 10) {}
//System.out.println(a + " " + b);
//input data case 0
//a = System.in.read();
//System.out.println((char) a);
//input data case 1
// Scanner in = new Scanner(System.in);
// String s1 = in.nextLine();
// String [] words = s1.split(" ");
// System.out.println(Arrays.toString(words));
// while (in.hasNext()) {
// System.out.println(in.next());
// }
//input case 2
// BufferedReader br = new BufferedReader(
// new InputStreamReader(System.in)
// );
// int val = Integer.parseInt(br.readLine());
// System.out.println(val);
String name = "Иван";
int age = 30;
//%s - str, %d - int, long, %f - double, %c - char
System.out.printf("%sу %d лет\n", name, age);
int value = 0;
switch (value) {
case 0:
System.out.println("ZERO");
break;
case 1:
System.out.println("ONE");
break;
default:
System.out.println("other");
}
}
}
65 changes: 65 additions & 0 deletions src/java/lesson2/homework/HomeWork.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
package lesson2.homework;

import java.util.Arrays;



public class HomeWork {
public static void main(String[] args) {


//** Задать одномерный массив и найти в нем минимальный и максимальный элементы (без помощи интернета);

int[] maxMinArray = {5, 44, -34, 22, 44, -4, 5, 6, 4, 5, -56, 34, 67, 8};
Arrays.sort(maxMinArray);
int max = maxMinArray[maxMinArray.length - 1], min = maxMinArray[0];
System.out.println(max);
System.out.println(min);

// Проверка методов
System.out.println(checkBalance(new int[]{2, 2, 2, 1, 2, 2, 10, 1}));
int[] array = new int[]{1, 2, 3, 4, 5, 6, 7};
shift(array, -1);
System.out.println(Arrays.toString(array));
}


//** Написать метод, в который передается не пустой одномерный целочисленный массив,
// метод должен вернуть true, если в массиве есть место, в котором сумма левой и правой части массива равны.
// Примеры: checkBalance([2, 2, 2, 1, 2, 2, || 10, 1]) → true, checkBalance([1, 1, 1, || 2, 1]) → true,
// граница показана символами ||, эти символы в массив не входят.

public static boolean checkBalance(int[] array) {
int sum = 0, leftSum = 0;
for (int i : array) {
sum += i;
}
for (int i : array) {
leftSum += i;
if (2 * leftSum == sum) {
return true;
}
}
return false;
}

//**** Написать метод, которому на вход подается одномерный массив и число n (может быть положительным, или отрицательным),
// при этом метод должен сместить все элементы массива на n позиций.
// Для усложнения задачи нельзя пользоваться вспомогательными массивами.

public static void shift(int[] array, int n) {
if (n < 0) {
n = -n;
n = n % array.length;
n = array.length - n;
} else {
n = n % array.length;
}
while (n > 0){
int temp = array[array.length - 1];
System.arraycopy(array, 0, array, 1, array.length - 1);
array[0] = temp;
n--;
}
}
}
47 changes: 47 additions & 0 deletions src/java/lesson3/classwork/Recursion.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
package lesson3.classwork;

import java.util.Scanner;

public class Recursion {
//f(x) = 1 + f(x-1)
public static int f(int x) {
if (x <= 1) return 1;
return x * f(x - 1);
}

public static void print(Scanner in) {
int n = in.nextInt();
if (n == 0) return;
print(in);
System.out.print(n + " ");
}

//aaaabbbccc = 4(a)3(b)3(c) -> 4(a)3(b)ccc -> 4(a)bbbccc -> aaaabbbccc
public static String decompress(String s) {
int lastBracket = s.lastIndexOf('(');
if (lastBracket == -1) {
return s;
} else {
int endBracket = lastBracket + s.substring(lastBracket).indexOf(')');
int value = 0, pos = lastBracket - 1;
while (pos >= 0 && s.charAt(pos) >= '0' && s.charAt(pos) <= '9') {
value = value * 10 + (s.charAt(pos) - '0');
pos--;
}
StringBuilder decomp = new StringBuilder();
String part = s.substring(lastBracket + 1, endBracket);
System.out.println(part + " " + value);
while (value > 0) {
decomp.append(part);
value--;
}
System.out.println("d:" + decomp + " s:" + s);
return decompress(s.substring(0, pos+1) +
decomp + s.substring(endBracket+1));
}
}

public static void main(String[] args) {
System.out.println(decompress("2(def2(c2(ab2(cd)12(x))))"));
}
}
Loading
0