JavaRush/Java Π±Π»ΠΎΠ³/Java Developer/ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы
Автор
АртСм Divertitto
Senior Android-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π² United Tech

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ Java Developer
участников
ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы - 1

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Java?

Массив β€” это упорядочСнноС мноТСство элСмСнтов ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ссылочного. ΠžΠ±Ρ‰ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ массивах (прСимущСствСнно ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ…) ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ β€œΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² Java” ΠΈ Π² курсС JavaRush. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ Ρ€Π΅Ρ‡ΡŒ ΠΏΠΎΠΉΠ΄Ρ‘Ρ‚ ΠΎ массивах, элСмСнтами ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ массивы. Π’Π°ΠΊΠΈΠ΅ массивы Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ. Массив, элСмСнтами ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ массивы, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ массив массивов, называСтся Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌ. НС Π²ΠΎ всСх языках ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΈΠΌΠ΅ΡŽΡ‚ Ρ‚Π°ΠΊΡƒΡŽ структуру, Π½ΠΎ Π² Java Π΄Π΅Π»Π° обстоят ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ.

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Java, ΠΎΠ±Ρ‰ΠΈΠΉ синтаксис

Π’ ΠΎΠ±ΠΎΠ±Ρ‰Ρ‘Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Π² Java выглядят Ρ‚Π°ΠΊ:
Data_type[dimension1][dimension2][]..[dimensionN] array_name = new data_type[size1][size2]….[sizeN];
Π“Π΄Π΅ Data_type β€” это Ρ‚ΠΈΠΏ элСмСнтов Π² массивС. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ ссылочным (классом). ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΏΠ°Ρ€ скобок с dimension Π²Π½ΡƒΡ‚Ρ€ΠΈ β€” Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒ массива (Π² нашСм случаС β€” N). array_name β€” Π½Π°Π·Π²Π°Π½ΠΈΠ΅ массива size1...sizN β€” количСство элСмСнтов Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ массива. ОбъявлСниС ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов:
int[][] twoDimArray; //Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив
String[][][] threeDimArray; //Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив
double[][][][][] fiveDimArray; // пятимСрный массив
Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, всё это выглядит ΠΎΡ‡Π΅Π½ΡŒ абстрактно, поэтому Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Ρ‘ΠΌ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ проявлСниям ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов β€” Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌ ΠΈ Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌ. Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами, Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ€Π΅ΠΆΠ΅ β€” Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ, Π½Ρƒ Π° массивы Π΅Ρ‰Ρ‘ большСй размСрности β€” Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Ρ€Π΅Π΄ΠΊΠΈ. Π‘ большой Π΄ΠΎΠ»Π΅ΠΉ вСроятности Π²Ρ‹ с Π½ΠΈΠΌΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Ρ‚ΡŒΡΡ.

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Π² курсС JavaRush

На JavaRush ΠΊ "ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ" массивам ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π½Π° 7 ΡƒΡ€ΠΎΠ²Π½Π΅ квСста Java Syntax ΠΈ Π΄Π°Π»Π΅Π΅ ΠΏΠΎ Ρ…ΠΎΠ΄Ρƒ курса ΠΎΠ½ΠΈ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΎΠ΄Π½ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ. Иногда Π½Π° протяТСнии курса ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ΡΡ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы (ΠΈΠ»ΠΈ Ρ‚Π°ΠΊΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ с ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ). А Π΅Ρ‰Ρ‘ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π² Π΄Π²ΠΈΠΆΠΊΠ΅ ΠΈΠ³Ρ€ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° β€œΠ˜Π³Ρ€Ρ‹ Π½Π° JavaRush”. Если Π²Ρ‹ Π΅Ρ‰Ρ‘ Ρ‚Π°ΠΌ Π½Π΅ Π±Ρ‹Π»ΠΈ, заглянитС ΠΈ создайтС ΠΏΠ°Ρ€Ρƒ-Ρ‚Ρ€ΠΎΠΉΠΊΡƒ ΠΈΠ³Ρ€. К условиям ΠΏΡ€ΠΈΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ инструкции, ΠΈ это послуТит прСкрасной Ρ‚Ρ€Π΅Π½ΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ Π½Π°Π²Ρ‹ΠΊΠΎΠ² программирования. Π’Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Π² ΠΈΠ³Ρ€Π΅ Space Invaders. Π§Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ задаётся Π½Π°Π±ΠΎΡ€ Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ² для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ (ΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· этих Ρ„Ρ€Π΅ΠΉΠΌΠΎΠ² β€” Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив). Если Π²Ρ‹ ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΡˆΠ»ΠΈ квСст JavaSyntax ΠΈΠ»ΠΈ просто ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ сСбя чувствуСтС Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Java, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ этой классичСской ΠΈΠ³Ρ€Ρ‹.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Java?

Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π² Java β€” это массив массивов, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π΅Π³ΠΎ ячСйкС находится ссылка Π½Π° Π½Π΅ΠΊΠΈΠΉ массив. Но Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π·Π°Π΄Π°Π½ΠΎ количСство строк (ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅) ΠΈ количСство столбцов (Π²Ρ‚ΠΎΡ€ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅). Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ всС строки ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π²Π½ΠΎΠ΅ количСство элСмСнтов, называСтся ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ.

ОбъявлСниС, созданиС ΠΈ инициализация Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° объявлСния ΠΈ создания Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива практичСски такая ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² случаС ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ:
int[][] twoDimArray = new int[3][4];
Π­Ρ‚ΠΎΡ‚ массив ΠΈΠΌΠ΅Π΅Ρ‚ 3 строки ΠΈ 4 столбца. Π Π°Π·ΠΌΠ΅Ρ€ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΎΠ³ΠΎ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива (ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ, ΠΎΠ± этом β€” Ρ‡ΡƒΡ‚ΡŒ Π½ΠΈΠΆΠ΅), Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ±Ρ‰Π΅Π΅ количСство элСмСнтов ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠΈΠ² количСство строк Π½Π° количСство столбцов. БСйчас ΠΎΠ½ ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ (Π·Π°ΠΏΠΎΠ»Π½Π΅Π½) значСниями ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π’ΠΎ Π΅ΡΡ‚ΡŒ β€” нулями. Π”Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠΌ Π΅Π³ΠΎ Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ Π½Π°ΠΌ значСниями.
twoDimArray[0][0] = 5;//записали Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 5 Π² ячСйку Π½Π° пСрСсСчСнии Π½ΡƒΠ»Π΅Π²ΠΎΠΉ строки ΠΈ Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ столбца
twoDimArray[0][1] = 7; //записали Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 7 Π² ячСйку Π½Π° пСрСсСчСнии Π½ΡƒΠ»Π΅Π²ΠΎΠΉ строки ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ столбца
twoDimArray[0][2]  = 3;
twoDimArray[0][3] = 17;
twoDimArray[1][0] = 7;
twoDimArray[1][1] = 0;
twoDimArray[1][2] = 1;
twoDimArray[1][3] = 12;
twoDimArray[2][0] = 8;
twoDimArray[2][1] = 1;
twoDimArray[2][2] = 2;
twoDimArray[2][3] = 3;
Как ΠΈ Π² случаС с ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами, ΠΌΠΎΠΆΠ½ΠΎ провСсти ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ быстрСС:
int [][] twoDimArray = {{5,7,3,17}, {7,0,1,12}, {8,1,2,3}};
И Π² Ρ‚ΠΎΠΌ, ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ случаС ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив с трСмя строками ΠΈ Ρ‡Π΅Ρ‚Ρ‹Ρ€ΡŒΠΌΡ столбцами, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами. ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы - 2

Π’Ρ‹Π²ΠΎΠ΄ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Π½Π° экран

Π­Ρ‚Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π»ΠΎΠ³ΠΈΡ‡Π½Π΅Π΅ всСго Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ: сначала Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ Π½ΡƒΠ»Π΅Π²ΡƒΡŽ строку поэлСмСнтно, Π·Π°Ρ‚Π΅ΠΌ β€” Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π§Π°Ρ‰Π΅ всСго Π² Java Π²Ρ‹Π²ΠΎΠ΄ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΄Π²ΡƒΡ… Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ².
int [][] twoDimArray = {{5,7,3,17}, {7,0,1,12}, {8,1,2,3}};//объявили массив ΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ Π΅Π³ΠΎ элСмСнтами
for (int i = 0; i < 3; i++) {  //ΠΈΠ΄Ρ‘ΠΌ ΠΏΠΎ строкам
            for (int j = 0; j < 4; j++) {//ΠΈΠ΄Ρ‘ΠΌ ΠΏΠΎ столбцам
                System.out.print(" " + twoDimArray[i][j] + " "); //Π²Ρ‹Π²ΠΎΠ΄ элСмСнта
            }
            System.out.println();//пСрСнос строки Ρ€Π°Π΄ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сохранСния Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹
        }

Быстрый Π²Ρ‹Π²ΠΎΠ΄ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива

Π‘Π°ΠΌΡ‹ΠΉ ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ способ вывСсти список элСмСнтов Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Π½Π° экран β€” ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° deepToString класса Arrays. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
int[][] myArray = {{18,28,18},{28,45,90},{45,3,14}};
System.out.printLn(Arrays.deepToString(myArray));
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ β€” ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π²Ρ‹Π²ΠΎΠ΄: [[18, 28, 18], [28, 45, 90], [45, 3, 14]]

β€œΠ”Π»ΠΈΠ½Ρ‹β€ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π»ΠΈΠ½Ρƒ ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, количСство элСмСнтов Π² Π½Ρ‘ΠΌ), ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ length. Π’ΠΎ Π΅ΡΡ‚ΡŒ, Ссли ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ массив int a[] = {1,2,3}, Ρ‚ΠΎ опСрация a.length Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ 3. А Ρ‡Ρ‚ΠΎ, Ссли эту ΠΆΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊ Π½Π°ΡˆΠ΅ΠΌΡƒ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΌΡƒ массиву?
int [][] twoDimArray = {{5,7,3,17}, {7,0,1,12}, {8,1,2,3}};
System.out.println(twoDimArray.length);
Π’Ρ‹Π²ΠΎΠ΄: 3 Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, эта опСрация Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ количСство строк Π² массивС. А ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ количСство столбцов? Если ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ с ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… всС строки ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ twoDimArray[0].length ΠΈΠ»ΠΈ вмСсто Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ элСмСнта (ΠΏΠΎ сути β€” Π½ΡƒΠ»Π΅Π²ΠΎΠΉ строки) β€” любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚Π°ΠΊ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² Java Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив β€” это массив массивов, ΠΈ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ элСмСнт twoDimArray[0] β€” это массив Π΄Π»ΠΈΠ½Ρ‹ 4. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива: ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½Π°Ρ доска

Π”Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для создания любого ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ поля, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² ΠΈΠ³Ρ€Π°Ρ…, ΠΈ Π² частности β€” Π² ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π°Ρ…. Π¨Π°Ρ…ΠΌΠ°Ρ‚Π½ΡƒΡŽ доску Π»Π΅Π³ΠΊΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Π²ΠΈΠ΄Π΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива. К этому ΠΌΠΎΠΆΠ½ΠΎ β€œΠΏΡ€ΠΈΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒβ€ Π³Ρ€Π°Ρ„ΠΈΠΊΡƒ, Π° ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ β€” Π΄Π°Π²Π°ΠΉΡ‚Π΅ Π·Π°Π΄Π°Π΄ΠΈΠΌ ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ символов ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ Π΅Π³ΠΎ Π² консоль. ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы - 3НиТняя лСвая ΠΊΠ»Π΅Ρ‚ΠΊΠ° ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½ΠΎΠΉ доски ΠΎΠΊΡ€Π°ΡˆΠ΅Π½Π° Π² Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ Π·Π° Π½Π΅ΠΉ β€” Π² Π±Π΅Π»Ρ‹ΠΉ, ΠΊΠ°ΠΊ ΠΈ Ρ‚Π°, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ Π½Π΅ΠΉ. Π˜Ρ‚Π°ΠΊ, Ρ†Π²Π΅Ρ‚ мСняСтся ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° сосСднюю ΠΏΠΎ сторонС ячСйку. Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½ΡƒΡŽ расцвСтку Π½Π΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Ρ‡Ρ‘Ρ‚Π½ΠΎΡΡ‚ΡŒ: Ссли сумма индСкса строки ΠΈ столбца β€” чётная ΠΈΠ»ΠΈ Π½ΡƒΠ»ΡŒ, Ρ‚ΠΎ ΠΊΠ»Π΅Ρ‚ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ Π±Π΅Π»ΠΎΠΉ, ΠΈΠ½Π°Ρ‡Π΅ β€” Ρ‡Ρ‘Ρ€Π½ΠΎΠΉ. Для этой ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π² Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ остатка ΠΎΡ‚ дСлСния %. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π½Π΅ с Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠΉ, Π° с символами, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ Π±Π΅Π»ΡƒΡŽ ΠΊΠ»Π΅Ρ‚ΠΊΡƒ Π±ΡƒΠΊΠ²ΠΎΠΉ W (white), Π° Ρ‡Ρ‘Ρ€Π½ΡƒΡŽ β€” Π±ΡƒΠΊΠ²ΠΎΠΉ B (black).
//Π·Π°Π΄Π°Ρ‘ΠΌ ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½ΡƒΡŽ доску Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом
String [][] chessBoard = new String[8][8];
        for (int i = 0; i< chessBoard.length; i++) {
            for (int j = 0; j < chessBoard[0].length; j++) {
                if ((i + j) % 2 == 0) chessBoard[i][j] = "W";
                else chessBoard[i][j] = "B";
            }
        }
Π’Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ получаСтся Ρ‚Π°ΠΊΠΎΠΉ: W B W B W B W B B W B W B W B W W B W B W B W B B W B W B W B W W B W B W B W B B W B W B W B W W B W B W B W B B W B W B W B W Всё ΠΊΠ°ΠΊ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½ΠΎΠΉ доскС, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ. ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы - 4А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π²Π°ΠΉΡ‚Π΅ напишСм ΠΌΠ΅Ρ‚ΠΎΠ΄ для ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈ ячССк Π½Π΅ Π½Π° языкС массивов, Π° Π½Π° β€œΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½ΠΎΠΌβ€ языкС. НиТняя лСвая ячСйка Π½Π° доскС называСтся А1, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Π² нашСм массивС это β€” chessBoard[7][0]. Бопоставим ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΠ°Ρ€Π΅ индСксов Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΠΈΡ… β€œΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½Ρ‹ΠΉβ€ эквивалСнт. Для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π΄Π²Π΅ строки β€” "abcdefgh" ΠΈ "87654321" (Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС β€” для простоты, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½Π°Ρ 8 соотвСтствовала Π½ΡƒΠ»Π΅Π²ΠΎΠΌΡƒ столбцу).
public static String chessBoardCoord(int a, int b) {
            String letters = "abcdefgh";
            String numbers = "87654321";
            if ((a > 7)|| (b>7)) return null; //Ссли Π½ΠΎΠΌΠ΅Ρ€ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ доски, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ - null
            else return (Character.toString(letters.charAt(a)) + numbers.charAt(b)); /*charAt - ΠΌΠ΅Ρ‚ΠΎΠ΄, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ ΠΈΠ· строки элСмСнт ΠΏΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΌ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ, здСсь - ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ a ΠΈ b. Character.toString - ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ символ Π² строку*/
        }
Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ячСйкС Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΅Ρ‘ Ρ†Π²Π΅Ρ‚, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π΅Ρ‘ Π½ΠΎΠΌΠ΅Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ chessBoardCoord
String [][] chessBoard = new String[8][8];
        for (int i = 0; i < chessBoard.length; i++) {
            for (int j = 0; j < chessBoard[0].length; j++) {
                if ((i + j) % 2 == 0) chessBoard[i][j] = "W" + chessBoardCoord(j,i);
                else chessBoard[i][j] = "B"+ chessBoardCoord(j,i);
            }
        }

            for (int i = 0; i < chessBoard.length; i++) {
                for (int j = 0; j < chessBoard[0].length; j++) {
                    System.out.print(" " + chessBoard[i][j] + " ");
                }
                System.out.println();
            }
Π’Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: Wa8 Bb8 Wc8 Bd8 We8 Bf8 Wg8 Bh8 Ba7 Wb7 Bc7 Wd7 Be7 Wf7 Bg7 Wh7 Wa6 Bb6 Wc6 Bd6 We6 Bf6 Wg6 Bh6 Ba5 Wb5 Bc5 Wd5 Be5 Wf5 Bg5 Wh5 Wa4 Bb4 Wc4 Bd4 We4 Bf4 Wg4 Bh4 Ba3 Wb3 Bc3 Wd3 Be3 Wf3 Bg3 Wh3 Wa2 Bb2 Wc2 Bd2 We2 Bf2 Wg2 Bh2 Ba1 Wb1 Bc1 Wd1 Be1 Wf1 Bg1 Wh1 Π“Π΄Π΅ We2 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π±Π΅Π»ΡƒΡŽ ΠΊΠ»Π΅Ρ‚ΠΊΡƒ с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ e2.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива: ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†

Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ элСмСнтарных Π·Π½Π°Π½ΠΈΠΉ ΠΎ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°Ρ…. Π—Π΄Π΅ΡΡŒ ΠΎ Π½ΠΈΡ… Π±ΡƒΠ΄Π΅Ρ‚ рассказано совсСм Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ, ΠΈ эта информация рассчитана Π½Π° Ρ‚Π΅Ρ…, ΠΊΡ‚ΠΎ ΠΈΠ·ΡƒΡ‡Π°Π», Π½ΠΎ нСсколько ΠΏΠΎΠ΄Π·Π°Π±Ρ‹Π» ΠΌΠ°Ρ‚Ρ€ΠΈΡ‡Π½ΡƒΡŽ Π°Ρ€ΠΈΡ„ΠΌΠ΅Ρ‚ΠΈΠΊΡƒ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, эти знания ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡ‡Π΅Ρ€ΠΏΠ½ΡƒΡ‚ΡŒ ΠΈΠ· ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… источников, Π² частности β€” ΠΈΠ· ΡΡ‚Π°Ρ‚ΡŒΠΈ Π² Π’ΠΈΠΊΠΈΠΏΠ΅Π΄ΠΈΠΈ. Π­Ρ‚ΠΎ ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов, Π½ΠΎ Π±Π΅Π· Π½Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ дальшС. Π’Π°ΠΊ Ρ‡Ρ‚ΠΎ Ссли ΠΎΠ½ Π²Π°ΠΌ сСйчас каТСтся нСпонятным с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠΈ, ΠΈ Π²Ρ‹ Π½Π΅ слишком-Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒΡΡ Π² Π½Π΅Ρ‘, смСло пропускайтС ΠΏΡ€ΠΈΠΌΠ΅Ρ€. Если Π²Ρ‹ ΡƒΡ‡ΠΈΠ»ΠΈ Π½Π°Ρ‡Π°Π»Π° Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎΠΉ Π°Π»Π³Π΅Π±Ρ€Ρ‹, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ ΡƒΠ·Π½Π°Π»ΠΈ Π² ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Ρ… массивах ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы - 5Π“Π΄Π΅ Π°11, Π°12… aNN β€” Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ числа. На рисункС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Π°Ρ, Π° квадратная (число строк Ρ€Π°Π²Π½ΠΎ числу столбцов, Π½ΠΎ это Π½Π΅ всСгда Ρ‚Π°ΠΊ). Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ ΠΆΠΈΠ·Π½ΠΈ с Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π°ΠΌΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ€Π΅Π΄ΠΊΠΎ, Π° Π²ΠΎΡ‚ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹Ρ… Π½Π°ΡƒΠΊΠ°Ρ… β€” ΠΎΡ‡Π΅Π½ΡŒ часто. Π’ частности, ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π² ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π³Ρ€Π°Ρ„ΠΈΠΊΠ΅ ΠΈ ΠΈΠ³Ρ€ΠΎΠ²Ρ‹Ρ… Π΄Π²ΠΈΠΆΠΊΠ°Ρ…. Π‘ΠΊΠ°ΠΆΠ΅ΠΌ, ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Π»ΠΈΠ±ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π° экранС Π½Π° любой ΡƒΠ³ΠΎΠ» ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ΠΎΠ². Π’ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½ΠΎΠΌ пространствС ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚ΠΎΠ² выглядит Ρ‚Π°ΠΊ: ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы - 6Π“Π΄Π΅ Ρ‚Π΅Ρ‚Π° β€” ΡƒΠ³ΠΎΠ», Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. ΠžΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΏΠΎ размСрности ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ собой, ΠΏΡ€ΠΈ этом слоТСниС ΠΈΠ΄Ρ‘Ρ‚ поэлСмСнтно (складываСм элСмСнты с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ индСксами). А Π²ΠΎΡ‚ опСрация умноТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ† ΡƒΠΆΠ΅ ΠΌΠ΅Π½Π΅Π΅ привычная. Π’Π°ΠΊ, ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ-Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли количСство столбцов ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ совпадаСт с количСством строк Π²Ρ‚ΠΎΡ€ΠΎΠΉ. ΠœΠ°Ρ‚Ρ€ΠΈΡ†Π°-Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΆΠ΅ строк, ΠΊΠ°ΠΊ пСрвая, ΠΈ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΆΠ΅ столбцов, ΠΊΠ°ΠΊ вторая. Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ производится ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠŸΡƒΡΡ‚ΡŒ Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Π° a[l][m] ΠΈ b[m][n]. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΈΡ… пСрСмноТСния ΠΌΡ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρƒ c[l][n]. Для получСния элСмСнта c[0][0] ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹-произвСдСния, Π½ΡƒΠΆΠ½ΠΎ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ элСмСнт Π½ΡƒΠ»Π΅Π²ΠΎΠΉ строки ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ a[0][0] ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° Π½ΡƒΠ»Π΅Π²ΠΎΠΉ элСмСнт Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΡƒΠΌΠ½ΠΎΠΆΠΈΡ‚ΡŒ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ столбца Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅, послС Ρ‡Π΅Π³ΠΎ всС ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠ΅ΡΡ произвСдСния ΡΠ»ΠΎΠΆΠΈΡ‚ΡŒ.

a[0][0]*b[0][0] + a[0][1]*b[1][0] + … + a[0][m-1]*b[m-1][0]
Для получСния Π²Ρ‚ΠΎΡ€ΠΎΠ³ΠΎ элСмСнта ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹-Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΏΡ€ΠΎΠ΄Π΅Π»Ρ‹Π²Π°Π΅ΠΌ Ρ‚Ρƒ ΠΆΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ со Π²Ρ‚ΠΎΡ€ΠΎΠΉ строкой

a[1][0]*b[0][0] + a[1][1]*b[0][1] + … + a[0][m-1]*b[m-1][0]
И Ρ‚Π°ΠΊ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° строки. Π—Π°Ρ‚Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку ΠΈ повторяСм ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ, ΠΏΠΎΠΊΠ° строки Ρƒ нас Π½Π΅ закончатся. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠ°Π΅ΠΌ строки ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ со столбцами Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹. НиТС β€” ΠΊΠΎΠ΄ для пСрСмноТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΅Π³ΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π½Π° соблюдСниС упомянутого Π²Ρ‹ΡˆΠ΅ условия ΠΎ количСствС строк ΠΈ столбцов.
//объявляСм Π΄Π²Π΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹
int [][] twoDimArray1 = {{1,0,0,0},{0,1,0,0},{0,0,0,0}};
int[][] twoDimArray2 = {{1,2,3},{1,1,1},{0,0,0},{2,1,0}};

//процСсс умноТСния ΠΌΠ°Ρ‚Ρ€ΠΈΡ†
int[][]twoDimArray3 = new int [twoDimArray1.length][twoDimArray2[0].length];
        for (int i=0; i<twoDimArray3[0].length; i++)
            for (int j=0; j<twoDimArray3.length; j++)
                for (int k=0; k<twoDimArray1[0].length; k++)
                              twoDimArray3[i][j] = twoDimArray3[i][j] + twoDimArray1[i][k] * twoDimArray2[k][j];

//Π²Ρ‹Π²ΠΎΠ΄ Π½Π° экран
        for (int i = 0; i < twoDimArray3.length; i++) {
            for (int j = 0; j < twoDimArray3[0].length; j++) {
                System.out.print(" " + twoDimArray3[i][j] + " ");
            }
            System.out.println();
        }
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚: 1 2 3 1 1 1 0 0 0

ΠΠ΅ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Π΅ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² Java Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы β€” это массивы массивов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… массивов ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹. Боздавая массив, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ количСство строк ΠΈ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ количСство столбцов (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, ΠΏΠΎ сути, Π΄Π»ΠΈΠ½Ρƒ этих самых строк). Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€.
//объявляСм ΠΈ создаём массив, указывая Ρ‚ΠΎΠ»ΡŒΠΊΠΎ количСство строк
int [][] twoDimArray = new int[5][];

//ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ массив, заполняя Π΅Π³ΠΎ массивами Ρ€Π°Π·Π½ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹
        twoDimArray[0] = new int[]{1, 2, 3, 4, 5};
        twoDimArray[1] = new int[]{1,2,3,4};
        twoDimArray[2] = new int[]{1,2,3};
        twoDimArray[3] = new int[]{1,2};
        twoDimArray[4] = new int[]{1};
//Π²Ρ‹Π²Π΅Π΄Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠΉΡΡ Π½Π΅ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π½Π° экран
        for (int i = 0; i < twoDimArray.length; i++) {
            for (int j = 0; j < twoDimArray[i].length; j++) {
                System.out.print(" " + twoDimArray[i][j] + " ");
            }
            System.out.println();
        }
Π’Ρ‹Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹: 1 2 3 4 5 1 2 3 4 1 2 3 1 2 1 Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, нулСвая строка нашСго массива содСрТит массив {1,2,3,4,5}, Π° чСтвёртая β€” массив {1}.

Π’Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Π² Java

БлСдуя Π·Π΄Ρ€Π°Π²ΠΎΠΌΡƒ смыслу ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ΅ языка Java, Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ "массив массивов массивов" ΠΈΠ»ΠΈ "массив, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ элСмСнтом ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ являСтся Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив". ΠŸΡ€ΠΈΡ‡Ρ‘ΠΌ эти Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:
//создаём Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, состоящий ΠΈΠ· Π΄Π²ΡƒΡ… Π΄Π²ΡƒΡ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов
int[][][] threeDimArr = new int[2][][];
//создаём ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ 5Ρ…2
        threeDimArr[0] = new int[5][2];
//создаём Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива Ρ€Π°Π·ΠΌΠ΅Ρ€Π½ΠΎΡΡ‚ΡŒΡŽ 1Ρ…1
        threeDimArr[1] = new int[1][1];
Но Ρ‡Π°Ρ‰Π΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… всС Ρ‚Ρ€ΠΈ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ сразу, Π°Π½Π°Π»ΠΎΠ³ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов. ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы - 7Как ΠΌΡ‹ ΡƒΠΆΠ΅ ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π»ΠΈ, Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΈ Π±ΠΎΠ»Π΅Π΅ массивы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΎΡ‡Π΅Π½ΡŒ Ρ€Π΅Π΄ΠΊΠΎ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ интСрСсноС. НапримСр, ΠΌΠ½ΠΎΠ³ΠΎΡΡ‚Π°ΠΆΠ½ΡƒΡŽ ΠΏΠ°Ρ€ΠΊΠΎΠ²ΠΊΡƒ. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ этаТ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом, Π° паркомСсто β€” ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ элСмСнтом Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½ΠΎΠ³ΠΎ массива. Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ массива ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠΌ boolean со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ false, Ссли мСсто свободно ΠΈ true, Ссли мСсто занято.
//Π·Π°Π΄Π°Π΅ΠΌ Π±ΡƒΠ»Π΅Π² Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив. На этой ΠΏΠ°Ρ€ΠΊΠΎΠ²ΠΊΠ΅ Π΅ΡΡ‚ΡŒ 3 этаТа, Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ 2Ρ…5 = 10 машин. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ всС ячСйки пусты (false)
boolean[][][] parkingLot = new boolean[3][2][5];
//ΠΏΡ€ΠΈΠ΅Ρ…Π°Π»ΠΎ Π΄Π²Π΅ ΠΌΠ°ΡˆΠΈΠ½Ρ‹ ΠΈ ΠΏΡ€ΠΈΠΏΠ°Ρ€ΠΊΠΎΠ²Π°Π»ΠΈΡΡŒ Π½Π° Π½ΡƒΠ»Π΅Π²ΠΎΠΌ этаТС Π² ячСйкС [1][0] ΠΈ [1][3]
        parkingLot[0][1][0] = true;
        parkingLot[0][1][3] = true;

//Π’Ρ‹Π²Π΅Π΄Π΅ΠΌ массив Π² консоль
        for (int i = 0; i < 3; i++) {
            for (int j = 0; j < 2; j++) {
                for (int k = 0; k < 5; k++) {
                    System.out.print("arr[" + i + "][" + j + "][" + k + "] = " + parkingLot[i][j][k] + "\t");

                }
                System.out.println();
            }
        }

ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Java-программиста

Π’ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Java-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами Π½Π΅ слишком часто. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΅ΡΡ‚ΡŒ ряд Π·Π°Π΄Π°Ρ‡, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… эта структура Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎΡ‡Π΅Π½ΡŒ Π΄Π°ΠΆΠ΅ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ.

  1. Для тСстов ΠΈ задания ΠΌΠ°Ρ‚Ρ€ΠΈΡ† Π² качСствС констант, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ.
  2. Иногда ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для нСйросСтСй.
  3. ΠœΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы подходят для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Ρ€Ρ…ΠΈΠ²Π°Ρ‚ΠΎΡ€ΠΎΠ².
  4. Π Π°Π±ΠΎΡ‚Π° с изобраТСниями.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹Π΅ ΠΈ Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Π΅ массивы

Π’Ρ‹ достаточно Π·Π½Π°Π΅Ρ‚Π΅ ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивах Π² Java ΠΈ, Ссли чувствуСтС Π² сСбС силы, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΡƒΡŽ-Ρ‚ΠΎ ΠΈΠ· Π·Π°Π΄Π°Ρ‡ Π½ΠΈΠΆΠ΅. Они нСпростыС, Π½ΠΎ интСрСсныС. ΠšΡ€Π΅ΡΡ‚ΠΈΠΊΠΈ-Π½ΠΎΠ»ΠΈΠΊΠΈ. Π—Π°Π΄Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ»Π΅ 3Ρ…3, создайтС Π΄Π²ΡƒΡ… ΠΈΠ³Ρ€ΠΎΠΊΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ходят ΠΏΠΎΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎ. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ»Π΅ пустоС, ΠΈ Π² ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· пустых ΠΏΠΎΠ»Π΅ΠΉ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ³Ρ€ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ крСстик, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π½ΠΎΠ»ΠΈΠΊ. Π’Ρ‹ΠΈΠ³Ρ€Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎΡ‚, ΠΊΡ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ собСрёт Ρ‚Ρ€ΠΈ крСстика ΠΈΠ»ΠΈ Ρ‚Ρ€ΠΈ Π½ΠΎΠ»ΠΈΠΊΠ° располоТСнных Π² ΠΎΠ΄Π½Ρƒ строку, ΠΎΠ΄ΠΈΠ½ столбСц ΠΈΠ»ΠΈ ΠΏΠΎ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ.

Π§Ρ‚ΠΎ Π΅Ρ‰Ρ‘ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ

Π˜Π³Ρ€Π° Π½Π° Java для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…

ΠœΡƒΡ€Π°Π²Π΅ΠΉ Лэнгтона. Π•ΡΡ‚ΡŒ Π½Π΅ΠΊΠΎΠ΅ ΠΏΠΎΠ»Π΅, Ρ€Π°Π·Π±ΠΈΡ‚ΠΎΠ΅ Π½Π° ΠΊΠ»Π΅Ρ‚ΠΊΠΈ (Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив), Π²Ρ‹ΠΊΡ€Π°ΡˆΠ΅Π½Π½Ρ‹Π΅ Π² Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ Π±Π΅Π»Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ (ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ случайной Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ). Π’ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΊΠ»Π΅Ρ‚ΠΎΠΊ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ матСриализуСтся β€œΠΌΡƒΡ€Π°Π²Π΅ΠΉβ€, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠΌ шагС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ³Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· Ρ‡Π΅Ρ‚Ρ‹Ρ€Ρ‘Ρ… Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ Π½Π° сосСднюю ΠΊΠ»Π΅Ρ‚ΠΊΡƒ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ ΠΈΠ»ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ. ΠŸΡ€Π°Π²ΠΈΠ»Π° пСрСдвиТСния ΠΌΡƒΡ€Π°Π²ΡŒΡ:
  • На Ρ‡Ρ‘Ρ€Π½ΠΎΠΉ ΠΊΠ»Π΅Ρ‚ΠΊΠ΅ ΠΌΡƒΡ€Π°Π²Π΅ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π½Π° 90Β° Π²Π»Π΅Π²ΠΎ, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ†Π²Π΅Ρ‚ своСй ΠΊΠ»Π΅Ρ‚ΠΊΠΈ Π½Π° Π±Π΅Π»Ρ‹ΠΉ, Π·Π°Ρ‚Π΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ шаг Π²ΠΏΠ΅Ρ€Π΅Π΄ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ»Π΅Ρ‚ΠΊΡƒ.
  • На Π±Π΅Π»ΠΎΠΉ ΠΊΠ»Π΅Ρ‚ΠΊΠ΅ ΠΌΡƒΡ€Π°Π²Π΅ΠΉ поворачиваСтся Π½Π° 90Β° Π²ΠΏΡ€Π°Π²ΠΎ ΠΈ мСняСт Ρ†Π²Π΅Ρ‚ своСй ΠΊΠ»Π΅Ρ‚ΠΊΠΈ Π½Π° Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ, Π·Π°Ρ‚Π΅ΠΌ Π΄Π΅Π»Π°Π΅Ρ‚ шаг Π²ΠΏΠ΅Ρ€Π΅Π΄ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠ»Π΅Ρ‚ΠΊΡƒ.
ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ просчитываСт ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ Π½Π° шагС Π½ΠΎΠΌΠ΅Ρ€ n ΠΏΡ€ΠΈ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ ΠΌΡƒΡ€Π°Π²ΡŒΡ. ПолС ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ случайным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ нулями ΠΈ Π΅Π΄ΠΈΠ½ΠΈΡ†Π°ΠΌΠΈ (ΠΈΠ»ΠΈ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΈΡ… Π±ΡƒΠΊΠ²Π°ΠΌΠΈ W ΠΈ B, ΠΊΠ°ΠΊ ΠΌΡ‹ Π΄Π΅Π»Π°Π»ΠΈ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΎ ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½ΠΎΠΉ доскС). Π’Π°ΠΊΠΆΠ΅ Π½ΡƒΠΆΠ½Ρ‹ Π΅Ρ‰Ρ‘ Π΄Π²Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° β€” Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ΠΈ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ позиция ΠΌΡƒΡ€Π°Π²ΡŒΡ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΅Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄Π°Π½Π½ΠΎΠΌ шагС (сСвСр, юг, Π·Π°ΠΏΠ°Π΄, восток), ΠΏΡ€ΠΈ этом ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΡƒΡ€Π°Π²Π΅ΠΉ смотрит Π½Π° сСвСр. ΠšΡƒΠ±ΠΈΠΊ Π ΡƒΠ±ΠΈΠΊΠ° ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ ΡΠΌΠΎΠ΄Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Ρ€Ρ‘Ρ…ΠΌΠ΅Ρ€Π½Ρ‹Ρ… массивов. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΊΡƒΠ±ΠΈΠΊ Π ΡƒΠ±ΠΈΠΊΠ° ΠΈΠΌΠ΅Π΅Ρ‚ 6 Π³Ρ€Π°Π½Π΅ΠΉ, ΠΈ каТдая ΠΈΠ· Π½ΠΈΡ… являСтся Ρ‚Ρ€Π΅Ρ…ΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивов Ρ†Π²Π΅Ρ‚Π½Ρ‹Ρ… ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΎΠ² Color[][][] rubik = new Color[6][3][3]. Однако рСализация ΠΊΡƒΠ±ΠΈΠΊΠ° Π ΡƒΠ±ΠΈΠΊΠ° β€” Π·Π°Π΄Π°Ρ‡Π° Π½Π΅Ρ‚Ρ€ΠΈΠ²ΠΈΠ°Π»ΡŒΠ½Π°Ρ.

ΠŸΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹ ΠΎ массивах

Массивам (прСимущСствСнно, ΠΎΠ΄Π½ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΎΠ½ΠΈ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ‡Π°Ρ‰Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅) посвящСно ΠΌΠ½ΠΎΠ³ΠΎ статСй Π½Π° JavaRush. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π½Π° Π½ΠΈΡ… Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅.
  1. ΠœΠ°ΡΡΠΈΠ²Ρ‹ Π² Java β€” ΠΎ массивах для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ
  2. КоС-Ρ‡Ρ‚ΠΎ ΠΎ массивах β€” Ρ…ΠΎΡ€ΠΎΡˆΠ°Ρ подробная ΡΡ‚Π°Ρ‚ΡŒΡ ΠΎ массивах
  3. Класс Arrays ΠΈ Π΅Π³ΠΎ использованиС β€” Π² ΡΡ‚Π°Ρ‚ΡŒΠ΅ описаны Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ класса Array
  4. ΠœΠ°ΡΡΠΈΠ²Ρ‹ пСрвая лСкция JavaRush, посвящённая массивам.
  5. Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ массив Π½ΡƒΠ»Π΅Π²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹, Π° Π½Π΅ null β€” Π°Π²Ρ‚ΠΎΡ€ β€œΠ­Ρ„Ρ„Π΅ΠΊΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ программирования” Π”ΠΆΠΎΡˆΡƒΠ° Π‘Π»ΠΎΡ… рассказываСт ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π»ΡƒΡ‡ΡˆΠ΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ пустыС массивы
ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ (75)
  • популярныС
  • Π½ΠΎΠ²Ρ‹Π΅
  • старыС
Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π°Π²Ρ‚ΠΎΡ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ
Basilius
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 33
24 ΠΌΠ°Ρ€Ρ‚Π° 2023, 06:49
ΠšΡ€Π°ΠΉΠ½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ хотя Π±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄(НС ctrl+C -> ctrl+V, Π° Ρ€ΡƒΡ‡ΠΊΠ°ΠΌΠΈ), Π³Π΄Π΅ создаСтся ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅, Π΄ΠΎ прочтСния ΡΡ‚Π°Ρ‚ΡŒΠΈ Π½Π΅ Π±Ρ‹Π»ΠΎ совсСм ясно, ΠΊΠ°ΠΊ ΠΊΠ»Π°ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹ ΠΈ Ρ†ΠΈΡ„Ρ€Ρ‹ Π² Π½ΡƒΠΆΠ½Ρ‹Π΅ ячСйки массива. Бпасибо Π·Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:
Character.toString(letters.charAt(a))
ΠŸΡ€ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ с ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами, ΠΏΠΎΠΊΠ° Π½Π΅ понял, Π½ΠΎ Π² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ» πŸ˜‰ Π£ΠΆΠ΅ Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅, "Если Π² этот Ρ€Π°Π· нСпонятно, Ρ‚ΠΎ просто ΠΏΡ€ΠΎΡ‡Ρ‚ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°, Π° ΠΏΠΎΡ‚ΠΎΠΌ посмотри Π½Π° это ΠΏΠΎΠ΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΡƒΠ³Π»ΠΎΠΌ" Когда-Ρ‚ΠΎ я Π½Π΅ ΠΏΠΎΠ½ΠΈΠΌΠ°Π» самих ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²πŸ™ˆ
Владислав
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 16
26 фСвраля 2023, 12:09
ΠΏΠ΅Ρ€Π΅ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† Π±ΠΎΡˆΠΊΡƒ вынСсло, ΠΊΠΎΠ³Π΄Π° попытался ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ написанный ΠΊΠΎΠ΄)) ΠΊΠΎΡ€ΠΎΡ‡Π΅ Ссли ΠΌΠ½Π΅ попадСтся такая Π·Π°Π΄Π°Ρ‡Π°, я сначало Π·Π°Π»Π΅Π·Ρƒ Π² википСдию, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ½ΡΡ‚ΡŒ) И это ΠΏΡ€ΠΈ условии, Ρ‡Ρ‚ΠΎ я сдавал Π»ΠΈΠ½Π΅ΠΉΠ½ΡƒΡŽ Π°Π»Π³Π΅Π±Ρ€Ρƒ Π² ΡƒΠ½ΠΈΠ²Π΅Ρ€Π΅, ΠΏΡ€ΠΎΡˆΠ»ΠΎ с Ρ‚Π΅Ρ… ΠΏΠΎΡ€ 15 Π»Π΅Ρ‚ - я Π·Π°Π±Ρ‹Π» 90%!
staxe
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 7
18 фСвраля 2023, 11:14
ΠŸΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π²ΡΠΏΠΎΠΌΠΈΠ½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹... А вСдь я ΠΈ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Π½Π΅ ΠΌΠΎΠ³, Ρ‡Ρ‚ΠΎ послС экзамСна Π΅Ρ‰Ρ‘ Ρ…ΠΎΡ‚ΡŒ Ρ€Π°Π· Π² ΠΆΠΈΠ·Π½ΠΈ ΠΈΡ… ΡƒΠ²ΠΈΠΆΡƒ. ΠšΡΡ‚Π°Ρ‚ΠΈ, спасибо Π·Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с ΠΏΠ°Ρ€ΠΊΠΎΠ²ΠΊΠΎΠΉπŸ‘
Kergshi
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 20
9 фСвраля 2023, 16:23
Если Ρƒ ΠΊΠΎΠ³ΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ вопрос Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹Π²ΠΎΠ΄Π° ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½ΠΎΠΉ доски с с Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ ячССк,Π΄Π°! Π’Ρ‹ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ΡƒΠΌΠ°Π»ΠΈ,Π΄Π°,ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΠΊ Ρ‡Π΅Ρ€Ρ‚Ρƒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ 2-Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² ,Π° Π²Ρ‹Π²ΠΎΠ΄Ρ‹ сразу ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Π΄Π²ΡƒΡ… ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ,ΠΌΠΎΠΆΠ΅Ρ‚ я Π΅Ρ‰Π΅ Π³Π»ΡƒΠΏ ΠΈ эта Π°Π±Ρ€Π°-ΠΊΠ°Π΄Π°Π±Ρ€Π° с ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысл,Π½ΠΎ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ объяснСния этому Π½Π΅Ρ‚,Ρ‚ΠΎ я "лишнСС" Π²Ρ‹ΠΊΠΈΠ½ΡƒΠ» ΠΈ всё Ρ‚Π°ΠΊ ΠΆΠ΅ Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΠΏΠΎ работоспособности.
Kergshi
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 20
9 фСвраля 2023, 15:54
ΠŸΡ€ΠΎΡΠ²ΡΡ‚ΠΈΡ‚Π΅,поТалуйста,ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ с доской,Ссли ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΈΠ΄Π΅Π΅,Π²Ρ‹Π΄Π°Ρ‘Ρ‚ 15 ошибок. Π¦ΠΈΠΊΠ»Ρ‹ for Π²ΠΎΠΎΠ±Ρ‰Π΅ Π·Π° Ρ†ΠΈΠΊΠ»Ρ‹ Π½Π΅ воспринимаСт.
Kergshi
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 20
9 фСвраля 2023, 16:01
А,Π·Π°Π±Ρ‹Π» ΠΏΡ€ΠΎ main. Всё ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ,всё Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚)
Kergshi
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 20
25 января 2023, 19:58
Π”Π° ΠΊΠ°ΠΊ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π²ΠΎ всСй это ΠΊΡƒΡ‡Π΅ ссылок. ИдСшь просто ΠΏΠΎ курсу ΠΈ Ρ‚ΡƒΡ‚ Π½Π° Ρ‚Π΅Π±Π΅,100500 ссылок ΠΏΠΎΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎ,ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ это. А Ρ‚Π°ΠΌ Π΅Ρ‰Π΅ ΡˆΡ‚ΡƒΠΊ ΠΏΡΡ‚ΡŒ. Π’ΡƒΡ‚ просто массивы,Ρ‚Π°ΠΌ "ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ ΠΎ массивах","массивы Π² Java". Π‘ ΡƒΠΌΠ° сойти ΠΌΠΎΠΆΠ½ΠΎ
Kirill
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 22
25 дСкабря 2022, 14:26
Как Ρ€Π°Π· ΠΈΡ‰Ρƒ ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° это высказываниС: "Если ΠΌΡ‹ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π΅Π»ΠΎ с ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌΠΈ массивами (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΈΠΌΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… всС строки ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠΉ Π΄Π»ΠΈΠ½Ρ‹), Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ twoDimArray[0].length ΠΈΠ»ΠΈ вмСсто Π½ΡƒΠ»Π΅Π²ΠΎΠ³ΠΎ элСмСнта (ΠΏΠΎ сути β€” Π½ΡƒΠ»Π΅Π²ΠΎΠΉ строки) β€” любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚Π°ΠΊ ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΡ‚ΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² Java Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив β€” это массив массивов, ΠΈ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ элСмСнт twoDimArray[0] β€” это массив Π΄Π»ΠΈΠ½Ρ‹ 4. ΠœΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ это ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ." Π§Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π²Π²ΠΈΠ΄Ρƒ? НС Π²ΠΈΠΆΡƒ связи. ΠŸΠΎΡ‡Π΅ΠΌΡƒ 0, Π° Π½Π΅ [I]? ΠŸΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡ‚Π΅!
Vlad
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 9
30 дСкабря 2022, 20:35
Π‘ΠΊΠΎΡ€Π΅Π΅ всСго Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Π΄Π»ΠΈΠ½Π΅ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π°Π΄ этим тСкстом. twoDimArray[i] выглядСло Π±Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅
Lo
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 35
Expert
3 фСвраля 2023, 12:17
Π”ΡƒΠΌΠ°ΡŽ 0 ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π² массивах отсчСт начинаСтся с нуля, Π° Π½Π΅ с Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ Π² Π²ΠΈΠ΄Ρƒ Π½ΡƒΠ»Π΅Π²ΠΎΠΉ элСмСнт. Π’ массивС ΠΏΡΡ‚ΡŒ элСмСнтов, ΠΈΡ… индСксы 0,1,2,3,4.
ОлСг
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 111
Expert
12 дСкабря 2022, 18:34
ЗдравствуйтС. ΠŸΠΎΡ…ΠΎΠΆΠ΅ Π² строкС a[1][0]*b[0][0] + a[1][1]*b[0][1] + … + a[0][m-1]*b[m-1][0] ошибка.
Denis Odesskiy
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 32
11 дСкабря 2022, 02:04
ЗдравствуйтС! НС ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π·Π°Ρ‡Π΅ΠΌ Π² листингС с ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΏΡ€ΠΎ ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½ΡƒΡŽ доску ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π²ΠΎΠ΄ΠΎΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² консоль ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ этот Ρ†ΠΈΠΊΠ»:
for (int i = 0; i < chessBoard.length; i++) {
       for (int j = 0; j < chessBoard[0].length; j++) {
Π‘ Π½ΠΈΠΌ Ρƒ мСня ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π° Π±Π΅Π· Π½Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, это ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ°? Или Π² Ρ‡Π΅ΠΌ моя ошибка? Π’ΠΎΡ‚ ΠΌΠΎΠΉ листинг ΠΊΠΎΠ΄Π° Π±Π΅Π· этого Ρ†ΠΈΠΊΠ»Π°:
public class CheessBoard {
    public static String cheessBoardCoord(int a, int b) {
        String letters = "abcdefgh";
        String numbers = "87654321";
        if ((a > 7) || (b > 7)) return null; //Ссли Π½ΠΎΠΌΠ΅Ρ€ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ доски, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ - null
        else
            return (Character.toString(letters.charAt(a)) + numbers.charAt(b)); /*charAt - ΠΌΠ΅Ρ‚ΠΎΠ΄, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΡ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌ ΠΈΠ· строки элСмСнт ΠΏΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΌ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ, здСсь - ΠΏΠΎΠ΄ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ a ΠΈ b. Character.toString - ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ символ Π² строку*/
    }

    public static void main(String[] args) {
        //Π·Π°Π΄Π°Ρ‘ΠΌ ΡˆΠ°Ρ…ΠΌΠ°Ρ‚Π½ΡƒΡŽ доску Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΌ массивом
        String[][] cheessBoard = new String[8][8];
        for (int i = 0; i < cheessBoard.length; i++) {
            for (int j = 0; j < cheessBoard[0].length; j++) {
                if ((i + j) % 2 == 0) cheessBoard[i][j] = "W" + cheessBoardCoord(j, i);
                else cheessBoard[i][j] = "B" + cheessBoardCoord(j, i);
                System.out.print(" " + cheessBoard[i][j] + " ");
            }
            System.out.println();
        }
    }
}
Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ с ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠ°Ρ‚Ρ€ΠΈΡ† ошибка, - Π½Π΅ объявлСн Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ k:
for (k=0; k<twoDimArray1[0].length; k++)
Anonymous #3173907
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 1
7 октября 2022, 17:13
МоТно Π»ΠΈ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ 2 ΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив Π½Π° энноС количСство Π΄Ρ€ΡƒΠ³ΠΈΡ… массивов Ρ€Π°Π½Π΄ΠΎΠΌΠ½ΠΎ. ΠŸΠΎΠ΄ΡΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΊΠ°ΠΊ это ΡΠΎΠ²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ
Skotique
Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 35
9 июня 2023, 08:10
ΠΌΠΎΠΆΠ½ΠΎ. Π²Ρ‹ Π½Π΅ смоТСтС ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ массива, Π½ΠΎ, ΠΏΠΎΠΊΠΎΠ²Ρ‹Ρ€ΡΠ²ΡˆΠΈΡΡŒ, Π²Ρ‹ смоТСтС Ρ…ΠΎΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌΠ½ΠΎ, Ρ…ΠΎΡ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΅Π³ΠΎ части Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ массивы ΠΊΠ°ΠΊ вашСй Π΄ΡƒΡˆΠ΅ ΡƒΠ³ΠΎΠ΄Π½ΠΎ.