Skip to content

Commit deb1f0e

Browse files
committed
petle
1 parent 662ad5d commit deb1f0e

File tree

7 files changed

+243
-31
lines changed

7 files changed

+243
-31
lines changed

.idea/workspace.xml

Lines changed: 63 additions & 31 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
2.7 KB
Binary file not shown.
1.22 KB
Binary file not shown.
1.44 KB
Binary file not shown.

src/jp/RzymskieArabskie.java

Lines changed: 112 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,112 @@
1+
package jp;
2+
3+
import java.util.Scanner;
4+
5+
public class RzymskieArabskie {
6+
7+
// tablica liczb rzymskich (podstawowe + dozwolone)
8+
private static String[] rzymskie = {"M", "CM", "D", "CD", "C","XC", "L", "XL", "X", "IX", "V", "IV", "I"};
9+
// tablica odpowiadających im liczb arabskich
10+
private static int[] arabskie = {1000, 900, 500, 400, 100, 90, 50, 40, 10, 9, 5, 4, 1};
11+
12+
// metoda sprawdza czy podana liczba rzymska jest poprawna
13+
public static boolean czyPoprawnaRzymska(String liczba) {
14+
15+
// konwertujemy liczbę na duże znaki (takie mamy w tablicy)
16+
liczba = liczba.toUpperCase();
17+
18+
// jeśli liczba jest pusta zwracamy fałsz
19+
if (liczba.length() == 0) return false;
20+
// jeśli wartość tego co dostajemy od użytkownika z tym co
21+
// sami obliczymy (zamiana na arabską i ponowna na rzymską) jest różna zwracamy fałsz
22+
if (!liczba.equals(naRzymska(naArabska(liczba)))) return false;
23+
// w każdym innym przypadku zwracamy prawdę
24+
return true;
25+
}
26+
27+
// metoda sprawdza czy podana liczba arabska jest poprawna
28+
public static boolean czyPoprawnaArabska(int liczba) {
29+
// sprawdzamy zakres
30+
if (liczba < 1 || liczba > 3999) return false;
31+
// jeśli w porządku zwracamy prawdę
32+
else return true;
33+
}
34+
35+
// metoda zamienia liczbę arabską na rzymską
36+
public static String naRzymska(int liczba) {
37+
38+
// zmienna wyjście będzie zawierała liczbę rzymską
39+
String wyjscie = "";
40+
41+
// sprawdzamy w pętli naszą liczbę z poszczególnymi
42+
// elementami tablicy liczb arabskich
43+
for (int i = 0; i < arabskie.length; i++) {
44+
// dopóki liczba jest większa
45+
while (liczba >= arabskie[i]) {
46+
// tworzymy liczbę rzymską dodając odpowiedną wartość z tablicy rzymskie
47+
wyjscie += rzymskie[i];
48+
// zmniejszamy liczbę arabską o odpowiednią wartość
49+
liczba -= arabskie[i];
50+
}
51+
}
52+
// zwracamy liczbę rzymską (łańcuch tekstowy)
53+
return wyjscie;
54+
}
55+
56+
// meoda zamienia liczbę rzymską na arabską
57+
public static int naArabska(String liczba) {
58+
59+
// konwertujemy liczbę na duże znaki (takie mamy w tablicy)
60+
liczba = liczba.toUpperCase();
61+
62+
// zmienna wyjście będzie zawierała liczbę arabską
63+
int wyjscie = 0;
64+
65+
// zmienna index umożliwi nam przemieszczanie się po liczbie rzymskiej
66+
int index = 0;
67+
68+
// sprawdzamy w pętli naszą liczbę z poszczególnymi
69+
// elementami tablicy liczb rzymskich
70+
for (int i = 0; i < rzymskie.length; i++) {
71+
// dopóki liczba zaczyna się z odpowiednią liczbą rzymską
72+
while (liczba.startsWith(rzymskie[i], index)) {
73+
// tworzymy liczbę arabską dodając odpowiedną wartość z tablicy arabskie
74+
wyjscie += arabskie[i];
75+
// przechodzimy do następnej pozycji w liczbie rzymskiej
76+
index += rzymskie[i].length();
77+
}
78+
}
79+
// zwracamy liczbę arabską
80+
return wyjscie;
81+
}
82+
83+
84+
public static void main (String[] args) {
85+
86+
Scanner wejscie = new Scanner(System.in);
87+
88+
System.out.print ("Podaj liczbę z zakresu (1-3999) w systemie rzymskim: ");
89+
90+
// pobieramy od użytkownika łańcuch tekstowy (liczbę rzymską)
91+
String rzymska = wejscie.nextLine();
92+
93+
// sprawdzamy poprawność i wyświetlamy wynik konwersji lub komunikat o błędzie
94+
if(czyPoprawnaRzymska(rzymska)) {
95+
System.out.println ("Liczba zapisana w systemie arabskim: " + naArabska(rzymska));
96+
} else {
97+
System.out.println ("Niepoprawna liczba.");
98+
}
99+
100+
System.out.print ("Podaj liczbę z zakresu (1-3999) w systemie arabskim: ");
101+
102+
// pobieramy od użytkownika liczbę (liczbę arabska)
103+
int arabska = wejscie.nextInt();
104+
105+
// sprawdzamy poprawność i wyświetlamy wynik konwersji lub komunikat o błędzie
106+
if(czyPoprawnaArabska(arabska)) {
107+
System.out.println ("Liczba zapisana w systemie rzymskim: " + naRzymska(arabska));
108+
} else {
109+
System.out.println ("Niepoprawna liczba.");
110+
}
111+
}
112+
}

src/start/MultiTable.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
package start;
2+
3+
public class MultiTable {
4+
public static void main(String[] args) {
5+
6+
char line [] = {' ', ' ',' '};
7+
char kik [][] = {line , line, line};
8+
char kik2 [][] = {{'_', '_','_'}, {'_', '_','_'} ,{'_', '_','_'}};
9+
System.out.printf("%c %c %c\n", kik2[0][0],kik2[0][1],kik2[0][2]);
10+
System.out.printf("%c %c %c\n", kik2[1][0],kik2[1][1],kik2[1][2]);
11+
System.out.printf("%c %c %c\n", kik2[2][0],kik2[2][1],kik2[2][2]);
12+
13+
kik2[1][2] = 'x';
14+
kik2[1][1] = 'x';
15+
kik2[1][0] = 'x';
16+
System.out.println();
17+
System.out.printf("%c %c %c\n", kik2[0][0],kik2[0][1],kik2[0][2]);
18+
System.out.printf("%c %c %c\n", kik2[1][0],kik2[1][1],kik2[1][2]);
19+
System.out.printf("%c %c %c\n", kik2[2][0],kik2[2][1],kik2[2][2]);
20+
System.out.println("Wygrałeś !!!");
21+
22+
}
23+
24+
}

src/start/TableExample.java

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package start;
2+
3+
public class TableExample {
4+
public static void main(String[] args) {
5+
double signal[] = {0.5,0.11,0.43,0.67,0.01,0.001};
6+
//inicjalizacja zmiennej pomocniczrj; warunek zatrzymania pętli; krok
7+
for(int i = 0; i <signal.length; i++)
8+
System.out.println(signal[i]);
9+
10+
//pętla for each komorka tablicy : tablica
11+
for(double s : signal){
12+
System.out.println(s);
13+
}
14+
//petla do 10000
15+
for(int i = 0; i < 10000; i++){
16+
System.out.print(i +" ");
17+
}
18+
19+
//wypisanie
20+
System.out.println(signal[0]);
21+
System.out.println(signal[1]);
22+
System.out.println(signal[2]);
23+
System.out.println(signal[3]);
24+
System.out.println(signal[4]);
25+
System.out.println(signal[5]);
26+
//modyfikacja
27+
signal[4] = 0;
28+
System.out.println(signal[0]);
29+
System.out.println(signal[1]);
30+
System.out.println(signal[2]);
31+
System.out.println(signal[3]);
32+
System.out.println(signal[4]);
33+
System.out.println(signal[5]);
34+
//dlugosc tablicy
35+
System.out.println("Długosc sygnalu: " + signal.length);
36+
String name[] = new String[150];
37+
System.out.println("Długosc imiona: " + name.length);
38+
name [5] = "Michał";
39+
System.out.println(name[5]);
40+
System.out.println(name[2]); //null
41+
42+
}
43+
44+
}

0 commit comments

Comments
 (0)