JAVA 01 (p) - stałe - zmienne - pętle - tablice

JAVA 01 (p) - stałe - zmienne - pętle - tablice
ukryj menu
SPEC
aktualizacja: 2022-03-07 13:26:47

1. Java

Java - oparty na klasach, obiektowy język programowania ogólnego zastosowania. Został stworzony przez  Sun Microsystems, obecnie właścicielem jest Oracle. Java jest językiem tworzenia programów źródłowych kompilowanych do kodu bajtowego, czyli postaci wykonywanej przez maszynę wirtualną. Język cechuje się silnym typowaniem. 
Najpopularniejsze zastosowania: aplikacje serwerowe oraz Android.

https://pl.wikipedia.org/wiki/Java

2. Wersje Javy

mimo wprowadzania nowych wersji, wciąż najpopularniejsza jest Java 8

https://www.jrebel.com/blog/2021-java-technology-reportkopiuj

Java vs NodeJS na serwerze

https://www.chapter247.com/blog/node-js-vs-springboot-java-which-one-to-choose-and-when/kopiuj

więcej

https://www.raj.net.pl/blog/ktora-wersje-javy-wybrac/
https://openjdk.java.net/
https://www.baeldung.com/oracle-jdk-vs-openjdk3.

3. start - utworzenie projektu

logujemy się swoimi danymi jak w domu, download openjdk 17 version 17.0.1

New Project / Java / Next / lokalizacja kopiuj

Pobranie / sprawdzenie wersji Javy

File / Project structure / Project / SDKkopiuj



4. pierwsza aplikacja

prawy klawisz myszy na katalogu /src

new / Java classkopiuj

wpisujemy Test

powstaje klasa Test

class Test {
}kopiuj


w obrębie klasy piszemy "main"
z podpowiedzi otrzymamy funkcję main()
która jest funkcją wejściową, startującą projekt


public static void main(String[] args) {
        
}kopiuj


w argumencie funkcji widać tablicę args
może być wykorzystana gdybyśmy ją chcieli przekazać uruchamiając program z linii poleceń
w tej chwili jest to zupełnie nieistotne, bo pracujemy w IntelliJ

w obrębie funkcji piszemy skrót sout co daje

System.out.println("test");
kopiuj

wypisujący komunikat do konsoli

uruchamiamy program klikając zieloną strzałkę obok funkcji main, lub z menu run / run Test lub SHIFT + F10
wynik pojawia się w konsoli


cały program powinien wyglądać tak

class Test {
    public static void main(String[] args) {
        System.out.println("test2");
    }
}kopiuj


konwencje nazewnicze:

https://www.oracle.com/java/technologies/javase/codeconventions-namingconventions.htmlkopiuj



5. typy zmiennych w Javie, stałe

Java to język ściśle typowany, więc zmienne mają typy:

liczby całkowite:

byte x1 = 1;
int x2 = 1;
short x3 = 10;
long x4 = 200L;kopiuj

liczby zmiennoprzecinkowe

float x5 = 1.234F;
double x6 = 1D;kopiuj

boolean

boolean x7 = false;kopiuj

znakowe

char x8 = 'z';
String x9 = "napis";kopiuj



szczegóły:

liczby całkowite:


byte - przechowuje liczby całkowite z zakresu od - 128 do 127
short - przechowuje liczby całkowite z zakresu od - 32 768 do 32 767
int - przechowuje liczby całkowite z zakresu - 2 147 483 648 czyli - 2(31) do 2 147 483 647 czyli 2(31) - 1
long - przechowuje liczby całkowite z zakresu - 9 223 372 036 854 775 808 czyli - 2(63) do 9 223 372 036 854 775 807 czyli 2(63) - 1)

liczby zmiennoprzecinkowe:

float - przechowuje liczby zmiennoprzecinkowe 32 bitowe, 6 - 7 cyfr dziesiętnych
double - przechowuje liczby zmiennoprzecinkowe 64 bitowe, 15 - 16 cyfr dziesiętnych

domyślnie liczba z przecinkiem to double

Pozostałe:

boolean - przechowuje wartość logiczną true / false
char - przechowuje znaki Unicode
String - przechowuje napisy.Napis jest tablicą znaków typu Char

dlaczego określenie typu jest ważne:

System.out.println(x2/2);
System.out.println(x6/2);kopiuj


Uwaga: java 11 wprowadza podobny do javascripta dynamiczny typ var
pamiętamy jednak że Java jest to język statycznie typowany i należy z tego korzystać


6. stałe

stałe też mają typy i już na etapie pisania kodu nie można ich zmienić
stała określamy słowem kluczowym final

final String TEST_STRING = "test";
TEST_STRING = "";kopiuj


7. konwersje danych z jednego typu na drugi

wstaw do main i uruchom run

int a = Integer.parseInt("123");
int b = Integer.parseInt("www"); // błąd
float c = Float.parseFloat("123");
double d = Double.parseDouble("123");
boolean e = Boolean.parseBoolean("false");
boolean f = Boolean.parseBoolean("aaa");
String g = String.valueOf(true);
String h = String.valueOf(456);
String i = String.valueOf(12.34);
String j  = String.valueOf(2 > 1);kopiuj


potestuj wszystkie konwersje za pomocą System.out.println();

8. porównania

a==bkopiuj

sprawdza równość wartości (ta sama wartość)

a.equals(b)kopiuj

sprawdza równość referencji(ten sam obiekt)


przykład a

int int1 = 10
int int2 = 10
kopiuj
System.out.println(int1 == int2)    // truekopiuj

przykład b

int int1 = 10;
String s2 = "10";
System.out.println(int1 == s2) ; // błądkopiuj


przykład c

float negZero = -0.0f;
float posZero = 0.0f;
System.out.println(negZero == posZero) ;        // truekopiuj


przykład d, trochę wymuszony

String s1 = "hello";
String s2 = "hello";
String s3 =  new String("hello"); 
System.out.println(s1 == s2); // true
System.out.println(s1 == s3); // false
System.out.println(s1.equals(s2)); // true
System.out.println(s1.equals(s3)); // truekopiuj


9. input z konsoli

w niektórych dzisiejszych zadaniach potrzebne będzie pobieranie danych wprowadzonych z konsoli
poniżej przykład z wykorzystaniem klasy Scanner:

import

import java.util.Scanner;kopiuj

w main()

System.out.println("podaj x");
Scanner sc = new Scanner(System.in);
String x = sc.nextLine();
System.out.println("podano x = " + x);kopiuj


możliwe jest ciągłe oczekiwanie na dane, co zapewnia nieskończona pętla while

while (true) {
   System.out.println("podaj x");
   Scanner sc = new Scanner(System.in);
   String x = sc.nextLine();
   System.out.println("podano x = " + x);
}kopiuj


podczas while można wyjść z programu
po zajściu określonego warunku (w tym wypadku wpisania quit z konsoli)

do {
    System.out.println("podaj x");
    Scanner sc = new Scanner(System.in);
    String x = sc.nextLine();
    System.out.println("podano x = " + x);

    if (x.equals("quit")) {
        System.out.println("this is the end");
        break;
    }

    System.out.println("x = " + x);

} while (true);kopiuj


10. instrukcje warunkowe

zwykły if

int age = 10;
if (age < 20) System.out.println("mniejsze od 20");
else if (age > 50) System.out.println("większe od 50");
else System.out.println("inne");kopiuj


skrócony if

int x = 20;
String size1 =  x < 30 ? "small" : "big";
System.out.println(size1);kopiuj


11. switch

podobnie do js

int speed = 100;
switch (speed) {
    case 0: System.out.println("brak ruchu"); break;
    case 1, 2, 3, 4: System.out.println("powoli"); break;
    case 50: System.out.println("szybko"); break;
    default: System.out.println("za szybko"); break;
}kopiuj



12. funkcje tekstowe

są bardzo podobne do funkcji js
wstaw całość do main i zobacz konsolę

String test = "aB Cd";
System.out.println("0 znak to: " + test.charAt(0));
System.out.println("długość napisu: " + test.length());
System.out.println("czy zawiera d: " + test.contains("d"));
System.out.println("na którym miejscu jest b: " + test.indexOf("b"));
System.out.println("zamiana znaków: " + test.replace("a", "x"));
System.out.println("fragment tekstu: " + test.substring(1, 2));
System.out.println("na małe znaki: " + test.toLowerCase());
System.out.println("na duże znaki: " + test.toUpperCase()); kopiuj


13. pętle for, while

poniższe przykłady wstawiaj do main i kompiluj

a) typowa pętla for, wykonująca się dla przedziału i od 1 do 10, jak w js


for (int i = 0;i<10;i++){
   System.out.println(i);
}kopiuj


krok w pętli co 2

for (int i = 0; i < 10; i += 2) {
    System.out.println(i);
}kopiuj


licznik w dół

for (int i = 10; i > 0; i--) {
    System.out.println(i);
}kopiuj


licznik w dół i krok co 2

for (int i = 10; i > 0; i -= 2) {
    System.out.println(i);
}kopiuj


b) foreach

iteracja po napisie (String to tablica char-ów)

for (char ch : "napis".toCharArray()) {
   System.out.println(ch);
}kopiuj


c) pętla while

int test = 10;
while (test > 0) {
    test--;
    System.out.println("test = " + test);
}kopiuj


d) pętla do...while

int test2 = 5;
do {
    test2--;
    System.out.println(test2);
} while (test2 > 3);kopiuj



14. tablice (NIE listy)

a) tablica z trzema elementami typu Int


int[] arr01 = {1,2,3,4};kopiuj

b) wypisanie zawartości tablicy (Uwaga: alt + Enter zaimportuje do pliku klasę Arrays)

import java.util.Arrays;kopiuj

System.out.println(Arrays.toString(arr01)); // [1,2,3,4]kopiuj

c) definicja tablicy Stringów z trzema elementami

String[] arr02 = new String[3];
System.out.println(Arrays.toString(arr02)); // [null, null, null]kopiuj


d) dodanie i pobranie danych z tablicy

String[] arr03 = new String[3];
System.out.println(Arrays.toString(arr03));
arr03[0] = "test";
System.out.println(arr03[0]);kopiuj


e) rozmiar tablicy

System.out.println(arr03.length);kopiuj

f) tablica dwuwymiarowa int-ów z wstępną zawartością

int[][] arr04 = new int[][]{
    { 1, 2, 3 },
    { 4, 5, 6 },
    { 7, 8, 9 },
};
System.out.println(Arrays.deepToString(arr04));// wypisanie danych tablicy dwuwymiarowej [[1, 2, 3], [4, 5, 6], [7, 8, 9]]kopiuj
System.out.println(arr04.length); // długość 3
System.out.println(Arrays.toString(arr04[0])); // [1, 2, 3]
System.out.println(arr04[0][0]); // 1kopiuj


g) tablica dwuwymiarowa Stringów z zawartością

String[][] arr05 = new String[][] {
    { "aa", "bb", "cc" },
    { "dd", "ee", "ff"},
    { "gg", "hh", "ii" },
};
System.out.println(Arrays.deepToString(arr05)) // [[aa, bb, cc], [dd, ee, ff], [gg, hh, ii]]kopiuj


tablice o pozostałe typach danych definiujemy podobnie


15. tablice jednowymiarowe typów prostych

a) sposób inicjalizacji tablic o określonym rozmiarze, wypełnionych domyślnymi danymi określonego typu

float[] floats = new float[3];
int[] ints = new int[3];
double[] doubles = new double[3];
System.out.println(Arrays.toString(floats));kopiuj


b) sposób inicjalizacji tablic o określonym rozmiarze, wypełnionych początkowymi konkretnymi danymi
w tym wypadku x-ami

String[] strings = new String[3];
Arrays.fill(strings, "x");
System.out.println(Arrays.toString(strings));kopiuj


c) sposób inicjalizacji tablic o określonym rozmiarze, wypełnionych początkowymi konkretnymi danymi
w tym wypadku x-ami, w okreśłonym zakresie

int[] ints = new int[5];
Arrays.fill(ints, 0, 3, 1000);
System.out.println(Arrays.toString(ints));    // [1000, 1000, 1000, 0, 0]kopiuj


d) sposób inicjalizacji tablic o określonym rozmiarze, wypełnionych początkowymi konkretnymi danymi
w tym wypadku x-ami, uzależnionymi od licznika (tu użycie tzw wyrażenia lambda)

int[] ints = new int[5];
Arrays.setAll(ints, i -> i*4);
System.out.println(Arrays.toString(ints));    // [0, 4, 8, 12, 16]kopiuj




16. tablice dwuwymiarowe typów prostych

tablice posiadają rozmiar i domyślne wartości

int[][] macierzIntow = new int[3][4];
boolean[][] macierzBooli = new boolean[2][2];
double[][] macierzDoubli = new double[3][3];

System.out.println(Arrays.deepToString(macierzIntow)); // [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
System.out.println(Arrays.deepToString(macierzBooli)); // [[false, false], [false, false]]
System.out.println(Arrays.deepToString(macierzDoubli)); // [[0.0, 0.0, 0.0], [0.0, 0.0, 0.0], [0.0, 0.0, 0.0]]kopiuj




17. zadania


Poziom trudności od bardzo prostych po trudniejsze
Im więcej zadań, tym lepsza znajomość języka
Każde zadanie proszę wykonywać w kolejnym pliku/klasie.
Na początku przykłady jak pracować

Podziel src na pakiety (src / new Package) zgodne z podpunktami zadań, np IO, IF, ARRAYS

a) IO


1. Przykładowy program obliczający pole prostokąta

import java.util.Scanner;

class Prostakat {
    public static void main(String[] args) {
        System.out.println("Program oblicza pole prostokąta.");
        System.out.println("Podaj bok a.");
        Scanner sc = new Scanner(System.in);
        double a = Double.parseDouble(sc.nextLine());
        System.out.println("Podaj bok b.");
        double b = Double.parseDouble(sc.nextLine());
        double pole = a * b;
        System.out.println("Pole prostokąta o boku a = " + a + " i boku b =  " + b + " wynosi " + pole);
    }
}kopiuj


output z konsoli ma wyglądać tak

Program oblicza pole prostokąta.
Podaj bok a.
100
Podaj bok b.
100
Pole prostokąta o boku a = 100.0 i boku b =  100.0 wynosi 10000.0kopiuj


2. Przykładowy program wyświetlający pierwiastek kwadratowy z liczby PI
z dokładnością do dwóch i pięciu miejsc po przecinku


package IO;

class Pierwiastek {
    public static void main(String[] args) {
        System.out.println("Program wyświetla pierwiastek kwadratowy");
        System.out.println("z liczby pi z dokładnością do dwóch miejsc po przecinku.");
        System.out.printf("Math.sqrt(Pi)= %2.2f", Math.sqrt(Math.PI));
        System.out.println("\nz liczby pi z dokładnością do pieciu miejsc po przecinku.");
        System.out.printf("Math.sqrt(Pi)= %2.5f", Math.sqrt(Math.PI));
    }
}kopiuj


output z konsoli

Program wyświetla pierwiastek kwadratowy
z liczby pi z dokładnością do dwóch miejsc po przecinku.
Math.sqrt(Pi)= 1,77
z liczby pi z dokładnością do pięciu miejsc po przecinku.
Math.sqrt(Pi)= 1,77245kopiuj



3. Napisz program obliczający objętość kuli o promieniu podanym z konsoli.

Output z konsoli powinien wyglądać tak:

Podaj promień r.
100
Objętość kuli o promieniu r = 100,00 wynosi 4188790,20.kopiuj



4. Napisz program obliczający sumę, różnicę, iloczyn i iloraz dla dwóch liczb x i y wprowadzonych z klawiatury

Output z konsoli powinien wyglądać tak:

Program oblicza sumę, różnicę, iloczyn i iloraz
dla dwóch liczb x i y wprowadzonych z klawiatury.
Podaj x
1
Podaj y.
2
Dla liczb: x = 1,00 i y = 2,00
Suma = 3,00
Różnica = -1,00
Iloczyn = 2,00
Iloraz = 0,50kopiuj


5. Dodaj blok try...catch do poprzednich programów na wypadek błędów podczas wprowadzania danych z konsoli

try {

   // pobranie danych, właściwy program

} catch (NumberFormatException e) {
    System.out.println ("Nie wczytano liczby lub błędny format. Koniec programu.")
}kopiuj


b) IF

1. Napisz program, który sprawdza dla trzech boków trójkąta a, b i c wprowadzonych z klawiatury, czy tworzą one trójkąt prostokątny (zakładamy, że a > 0, b > 0, c > 0). Wykorzystaj twierdzenie Pitagorasa

konsola

Podaj liczby całkowite!
Podaj bok a.
3
Podaj bok b.
4
Podaj bok c.
5
Boki:
a = 3
b = 4
c = 5
tworzą trójkąt prostokątny.kopiuj



2. Napisz program, który oblicza wartość x z równania ax+b = c. Wartości a, b i c należą do zbioru liczb rzeczywistych i są wprowadzane z klawiatury. Dodatkowo należy zabezpieczyć program na wypadek sytuacji, kiedy wprowadzona wartość a będzie równa zero. Dla zmiennych a, b, c oraz x należy przyjąć format wyświetlania ich na ekranie z dokładnością do dwóch miejsc po przecinku.

3. Napisz program, w którym użytkownik zgaduje losową liczbę z przedziału od 0 do 9 generowaną przez komputer.
 program pyta do skutku, aż zgadniemy i dopiero wtedy kończy pracę wyświetlając odpowiedni komunikat.


c) FOR, WHILE

1. Napisz program, który za pomocą instrukcji for, while, do while wyświetla liczby całkowite od 1 do 20.

Wynik w konsoli

Liczby 1-20
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20.
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20.
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20.kopiuj


2. Napisz program, który przy użyciu instrukcji for, while, do while sumuje liczby całkowite od 1 do 100.
i wyświetla 3 x ten sam wynik.


Wynik w konsoli

Program sumuje liczby całkowite od 1 do 100.
Suma liczb całkowitych od 1 do 100 wynosi 5050 (for).
Suma liczb całkowitych od 1 do 100 wynosi 5050 (while).
Suma liczb całkowitych od 1 do 100 wynosi 5050 (do while).kopiuj


3. Napisz program, który przy użyciu instrukcji for, while, do while sumuje liczby całkowite od 1 do wprowadzonej z konsoli wartości
i wyświetla 3 x ten sam wynik.


4. Napisz program, który za pomocą instrukcji for lub while lub do while sumuje liczby parzyste i nieparzyste z przedziału od 1 do 100.

wynik w konsoli

Program sumuje liczby parzyste od 1 do 100.
Suma liczb parzystych od 1 do 100 wynosi 2550.
Suma liczb nieparzystych od 1 do 100 wynosi 2500.kopiuj


5. Napisz program, który za pomocą instrukcji for lub while lub do while znajduje największą i najmniejszą
liczbę ze zbioru n wylosowanych liczb całkowitych od 0 do zadanej z klawiatury liczby oraz oblicza średnią ze wszystkich wylosowanych liczb.
Przetestuj program dla n = 2.

wynik w konsoli

Program losuje 5 liczb całkowitych od 0 do 99,
a następnie znajduje najmniejszą i największą
oraz oblicza średnią ze wszystkich wylosowanych liczb.

Wylosowano liczby: 44.0, 6.0, 10.0, 67.0, 97.0,
największa liczba to 97.0,
najmniejsza liczba to 6.0,
średnia = 44.8.kopiuj


6. Napisz program wyświetlający tabliczkę mnożenia dla liczb od 1 do 100 z wykorzystaniem podwójnej pętli for lub while

wynik w konsoli


Program rysuje tabliczkę mnożenia
1     2     3     4     5     6     7     8     9     10   
2     4     6     8     10    12    14    16    18    20   
3     6     9     12    15    18    21    24    27    30   
4     8     12    16    20    24    28    32    36    40   
5     10    15    20    25    30    35    40    45    50   
6     12    18    24    30    36    42    48    54    60   
7     14    21    28    35    42    49    56    63    70   
8     16    24    32    40    48    56    64    72    80   
9     18    27    36    45    54    63    72    81    90   
10    20    30    40    50    60    70    80    90    100kopiuj


10. Napisz program, który wyświetla duże litery alfabetu od A do Z i od Z do A z wykorzystaniem pętli for.

podpowiedź


char znak = 'A';
znak++;
System.out.println(znak);kopiuj


wynik w konsoli

Program wyświetla duże litery alfabetu od A do Z i od Z do A.
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z.
Z, Y, X, W, V, U, T, S, R, Q, P, O, N, M, L, K, J, I, H, G, F, E, D, C, B, A.kopiuj


d) ARRAYS


1. mamy tablicę int-ów:

int[] tablica1 = {2,5,43,11,23,78,333,765,67,67,67,111,123};kopiuj

policz sumę wszystkich elementów i wypisz w konsoli (użyj for-a)

wynik = 1695

2. mamy tablicę double

double[] tablica2 = {1.1,2.2,3.3,4.4,5.5,6.6,7.7,8.8,9.9};kopiuj

- policz sumę wszystkich elementów i wypisz (użyj for-a)                // wynik 49.5
- policz sumę elementów większych od 4.4 i wypisz (użyj for-a i if-a)   // wynik 38.5
- policz sumę wartości indexów parzystych (0,2,4-ty,...) w tablicy i wypisz (użyj for-a i if-a) // wynik 27.5


3. mamy tablicę stringów

String[] tablica3 = {"koty","psy","owoce","grzyby","samochody","kanarki"};kopiuj

- wypisz elementy na literę k (użyj for-a , if-a i funkcji tekstowych)
- policz ilość elementów na literę k (użyj for-a , if-a i funkcji tekstowych)
- policz ilość elementów o długości większej od 4 i wypisz  (użyj for-a , if-a i funkcji tekstowych)
- wypisz elementy dłuższe niż 5 znaków (użyj for-a , ifa i funkcji tekstowych)


4. mamy tablicę dwuwymiarową int-ów

int[][] tablica4 = new int[][] {
    { 1, 2 },
    { 3, 4 },
    { 5, 6 },
    { 7, 8 }
};kopiuj


- policz sumę wszystkich elementów w tablicy - (użyj dwu for-ów) // wynik 36
- policz sumę elementów tablicy większych od 3 (użyj dwu for-ów i if-a) // wynik 30


5. mamy tablicę dwuwymiarową int-ów

int[][] tablica5 = new int[][] {
    { 1, 2 },
    { 3, 3 },
    { 1, 4 },
    { 7, 3 },
    { 1, 6 },
    { 3, 5 },
    { 1, 8 },
    { 7, 9 }
};kopiuj


policz sumę tych elementów tablicy, które mają 1 (jeden) w pierwszym indeksie - (użyj for-a i if-a ) // wynik 24

6. mamy tablicę dwuwymiarową string-ów

String[][] tablica6 = new String[][] {
    { "100", "222" },
    { "3333", "44" },
    { "555", "6" },
    { "7", "888" }
};kopiuj


policz sumę wszystkich elementów, traktując je jako liczby całkowite (użyj dwu forów i funkcji konwertującej stringa na inta)
// wynik 5155


7. mamy tablicę dwuwymiarową stringów

String[][] tablica7 = new String[][] {
    { "aaa", "bbb", "ccc" },
    { "ccc", "bbb", "aaa" },
    { "aaa", "bbb", "ccc" },
    { "ddd", "aaa", "aaa" },
    { "aaa", "bbb", "aaa" },
    { "ccc", "bbb", "eee" },
    { "eee", "bbb", "aaa" },
    { "ddd", "bbb", "fff" }
};kopiuj


policz ilość tych, które mają napis "aaa" w 1 lub 2 indeksie - (użyj for-a , if-a) // wynik 4


8. mamy tablicę dwuwymiarową wartości bool (true/false)

boolean[][] tablica8 = new boolean[][]{
    { true, true, true, false, true, true, true, false },
    { true, true, true, true, true, true, true, true },
    { true, false, false, false, true, true, true, true },
    { false, false, true, true, false, true, false, true }
};kopiuj


policz ile razy występuje false w 3 i 4 indeksie tablicy - (użyj dwu for-ów i if-a) // wynik 7

9. mamy tablicę dwuwymiarową int-ów

int[][] tablica9 = new int[][] {
    { 0, 1, 0, 1 },
    { 0, 1, 0, 2 },
    { 0, 2, 0, 2 },
    { 0, 1, 0, 2 },
    { 0, 1, 0, 1 },
    { 0, 1, 0, 2 },
    { 0, 2, 0, 2 },
    { 0, 1, 0, 2 }
};kopiuj


- policz w ilu indeksach tablicy występuje 2 - (użyj dwu for-ów i if-a)      // wynik 6
- policz w ilu indeksach tablicy NIE występuje 1 - (użyj dwu for-ów i if-a)  // wynik 2


10. Utwórz tablicę A z liczbami całkowitymi, niektóre z nich powinny się powtarzać.

Na podstawie poprzedniej, utwórz tablicę z wszystkimi liczbami, które występują w tablicy A, ale każda z nich powinna występować tylko raz.
Np: na podstawie tablicy [0, 2, 4, 2, 6, 7, 4, 3, 12, 6] utwórz tablicę [0, 2, 4, 6, 7, 3, 12].


e) ARRAYS2

1. Napisz program, który w zadeklarowanej tablicy dwuwymiarowej 10×10 o nazwie t1 umieszcza na przekątnej cyfrę 1, a poza przekątną cyfrę 0
Dodatkowo program powinien obliczać sumę elementów wyróżnionych w tablicy, tj. tych znajdujących się na jej przekątnej.

wynik w konsoli:


t1
1 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 1
Suma wyróżnionych elementów w tablicy wynosi 10.
kopiuj

2. Napisz program, który w zadeklarowanej tablicy dwuwymiarowej 10×10 o nazwie t2 umieszcza na przekątnej cyfry od 0 do 9, a poza przekątną liczbę 0. Dodatkowo program powinien obliczać sumę elementów wyróżnionych w tablicy (znajdujących się na przekątnej).

wynik w konsoli:


t2
0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0 0 2 0 0 0 0 0 0 0
0 0 0 3 0 0 0 0 0 0
0 0 0 0 4 0 0 0 0 0
0 0 0 0 0 5 0 0 0 0
0 0 0 0 0 0 6 0 0 0
0 0 0 0 0 0 0 7 0 0
0 0 0 0 0 0 0 0 8 0
0 0 0 0 0 0 0 0 0 9
Suma wyróżnionych elementów w tablicy wynosi 45.
kopiuj

3. Napisz program, który w zadeklarowanej tablicy dwuwymiarowej 10×10 o nazwie t3 umieszcza liczby 1 i 0 (1-ki po przekątnej od prawej góra w dól po lewej) Program dodatkowo powinien obliczać sumę wyróżnionych elementów.

wynik w konsoli


t3
0 0 0 0 0 0 0 0 0 1
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
1 0 0 0 0 0 0 0 0 0
Suma wyróżnionych elementów w tablicy wynosi 10.
kopiuj

4. Napisz program, który w zadeklarowanej tablicy dwuwymiarowej 10×10 o nazwie t4 umieszcza liczby od 0 do 9 od prawej u góry
Program dodatkowo powinien obliczać sumę wyróżnionych elementów.


wynik w konsoli

t4
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 2 0 0
0 0 0 0 0 0 3 0 0 0
0 0 0 0 0 4 0 0 0 0
0 0 0 0 5 0 0 0 0 0
0 0 0 6 0 0 0 0 0 0
0 0 7 0 0 0 0 0 0 0
0 8 0 0 0 0 0 0 0 0
9 0 0 0 0 0 0 0 0 0
Suma wyróżnionych elementów w tablicy wynosi 45.
kopiuj

5. Napisz program, który w zadeklarowanej tablicy dwuwymiarowej 10×10 umieszcza w pierwszej kolumnie liczby od 0 do 9, w drugiej kwadraty tych liczb, natomiast w pozostałych kolumnach 0. Dodatkowo program powinien obliczać osobno sumę liczb znajdujących się w pierwszej oraz w drugiej kolumnie.

wynik w konsoli


t5
0 0 0 0 0 0 0 0 0 0
1 1 0 0 0 0 0 0 0 0
2 4 0 0 0 0 0 0 0 0
3 9 0 0 0 0 0 0 0 0
4 16 0 0 0 0 0 0 0 0
5 25 0 0 0 0 0 0 0 0
6 36 0 0 0 0 0 0 0 0
7 49 0 0 0 0 0 0 0 0
8 64 0 0 0 0 0 0 0 0
9 81 0 0 0 0 0 0 0 0
Suma liczb znajdujących się w pierwszej kolumnie to 45.
Suma liczb znajdujących się w drugiej kolumnie to 285.
kopiuj

6. Dane są dwie tablice dwuwymiarowe 10×10 o nazwach ta i tb. Tablica ta zawiera elementy przedstawione poniżej.

ta
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9kopiuj


Tablica tb zawiera same zera.
Napisz program, który przepisuje zawartość tablicy a do tablicy b (interpretacja graficzna tablicy wynikowej poniżej), zamieniając kolumny na wiersze


wynik w konsoli:

Wyświetlenie zawartości tablicy a:

0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9

Wyświetlenie zawartości tablicy b po przepisaniu z a:

0 0 0 0 0 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1
2 2 2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4 4 4
5 5 5 5 5 5 5 5 5 5
6 6 6 6 6 6 6 6 6 6
7 7 7 7 7 7 7 7 7 7
8 8 8 8 8 8 8 8 8 8
9 9 9 9 9 9 9 9 9 9kopiuj



7. napisz program wypisujący w konsoli poniższy wzór

ŚLIMAK:
0    1    2    3    4    5    6    7    8    9    
35   36   37   38   39   40   41   42   43   10  
34   63   64   65   66   67   68   69   44   11  
33   62   83   84   85   86   87   70   45   12  
32   61   82   95   96   97   88   71   46   13  
31   60   81   94   99   98   89   72   47   14  
30   59   80   93   92   91   90   73   48   15  
29   58   79   78   77   76   75   74   49   16  
28   57   56   55   54   53   52   51   50   17  
27   26   25   24   23   22   21   20   19   18 kopiuj




dokumentacja

https://docs.oracle.com/javase/8/docs/api/
https://docs.oracle.com/en/java/javase/17/docs/api/index.html