ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² написании студСнчСских Ρ€Π°Π±ΠΎΡ‚
АнтистрСссовый сСрвис

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Β«Π¦ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Β»

ΠšΡƒΡ€ΡΠΎΠ²Π°ΡΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠΎΠΌ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ явлСниС, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ) с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ соотвСтствуСт Ρ€Π°Π·Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ (ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Ρ‹ΠΉ ΠΊΠΎΠ΄) Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ класса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ обСспСчиваСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ»Π°ΡΡΠ΅-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° класса-ΠΏΡ€Π΅Π΄ΠΊΠ° с ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ сохранСниСм сигнатуры ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Π­Ρ‚ΠΎ обСспСчиваСт сохранСниС… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Β«Π¦ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Β» (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

  • Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅
  • Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ
  • Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹
  • Алгоритмы
  • ВСстовыС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹
  • Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ

1) ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ООП (object-oriented programming) — мСтодология программирования, основанная Π½Π° ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² Π²ΠΈΠ΄Π΅ совокупности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π°Ρ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ пСрСсылки сообщСний ΠΈ классы, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ наслСдования.

Класс являСтся описываСмой Π½Π° ΡΠ·Ρ‹ΠΊΠ΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠ»ΠΎΠ³ΠΈΠΈ (пространства ΠΈΠΌΡ‘Π½) исходного ΠΊΠΎΠ΄Π° модСлью Π΅Ρ‰Ρ‘ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ сущности, Ρ‚. Π½. ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ — ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ Π² Π°Π΄Ρ€Π΅ΡΠ½ΠΎΠΌ пространствС Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ систСмы, ΠΏΠΎΡΠ²Π»ΡΡŽΡ‰Π°ΡΡΡ ΠΏΡ€ΠΈ создании экзСмпляра класса (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, послС запуска Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² компиляции исходного ΠΊΠΎΠ΄Π° Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅).

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ

Π˜Π½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡ — это ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ, согласно ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ любой класс Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Ρ‡Ρ‘Ρ€Π½Ρ‹ΠΉ ящик — ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ класса Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ класса (Ρ‚.Π΅. список Π΄Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… свойств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса) ΠΈ Π½Π΅ Π²Π½ΠΈΠΊΠ°Ρ‚ΡŒ Π² Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΡŽΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π°Π½Π½Ρ‹Π΅ принято ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠ»Π°ΡΡΠ΅ Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ доступ ΠΊ Π½ΠΈΠΌ ΠΏΠΎ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ ΠΈΠ»ΠΈ записи осущСствлялся Π½Π΅ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π° Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ инкапсуляции (тСорСтичСски) позволяСт ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ число связСй ΠΌΠ΅ΠΆΠ΄Ρƒ классами ΠΈ, соотвСтствСнно, ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ классов.

Π‘ΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…

Π‘ΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… — нСотдСлимая Ρ‡Π°ΡΡ‚ΡŒ ООП, ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π°Ρ областями видимости. ЯвляСтся логичСским ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ инкапсуляции. ЦСлью сокрытия являСтся Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΡ€Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ состояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

НаслСдованиС

НаслСдованиСм называСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΡ€ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ класс ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ с ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ΠΌ всСх свойств ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² класса-ΠΏΡ€Π΅Π΄ΠΊΠ° (прародитСля, ΠΈΠ½ΠΎΠ³Π΄Π° Π΅Π³ΠΎ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ супСрклассом) ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ, ΠΏΡ€ΠΈ нСобходимости, Π½ΠΎΠ²Ρ‹Π΅ свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. Набор классов, связанных ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ΠΌ наслСдования, Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠ΅ΠΉ. НаслСдованиС ΠΏΡ€ΠΈΠ·Π²Π°Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠ΅ свойство Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π°, ΠΊΠ°ΠΊ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒ.

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ

ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌΠΎΠΌ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ явлСниС, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ) с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ соотвСтствуСт Ρ€Π°Π·Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ (ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„Π½Ρ‹ΠΉ ΠΊΠΎΠ΄) Π² Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡ‚ΠΈ ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ°ΠΊΠΎΠ³ΠΎ класса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ΠŸΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ обСспСчиваСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΊΠ»Π°ΡΡΠ΅-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° класса-ΠΏΡ€Π΅Π΄ΠΊΠ° с ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ сохранСниСм сигнатуры ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. Π­Ρ‚ΠΎ обСспСчиваСт сохранСниС Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ интСрфСйса класса-ΠΏΡ€Π΅Π΄ΠΊΠ° ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ связываниС ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² ΠΊΠΎΠ΄Π΅ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ классами — ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠ°ΠΊΠΎΠ³ΠΎ класса осущСствляСтся Π²Ρ‹Π·ΠΎΠ², ΠΈΠ· Ρ‚ΠΎΠ³ΠΎ класса ΠΈ Π±Π΅Ρ€Ρ‘тся ΠΌΠ΅Ρ‚ΠΎΠ΄ с Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ. Π’Π°ΠΊΠΎΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ называСтся динамичСским (ΠΈΠ»ΠΈ ΠΏΠΎΠ·Π΄Π½ΠΈΠΌ) связываниСм — Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΡΡ‚атичСского (Ρ€Π°Π½Π½Π΅Π³ΠΎ) связывания, осущСствляСмого Π½Π° ΡΡ‚Π°ΠΏΠ΅ компиляции.

2) Π―Π·Ρ‹ΠΊ программирования Java.

Java — ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Sun Microsystems. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Java ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π±Π°ΠΉΡ‚-ΠΊΠΎΠ΄, поэтому ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Π»ΡŽΠ±ΠΎΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Java-машинС (JVM) нСзависимо ΠΎΡ‚ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ возмоТности

Β· автоматичСскоС ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ;

Β· Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ возмоТности ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций;

Β· Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ срСдств Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°;

Β· Π½Π°Π±ΠΎΡ€ стандартных ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ массив, список, стСк ΠΈ Ρ‚. ΠΏ.;

Β· Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ простых срСдств создания сСтСвых ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Π² Ρ‚ΠΎΠΌ числС с ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° RMI);

Β· Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ классов, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ HTTP-запросы ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹;

Β· встроСнныС Π² ΡΠ·Ρ‹ΠΊ срСдства создания ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ;

Β· ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ доступ ΠΊ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ…:

Β· Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… SQL-запросов — Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ JDBC, SQLJ;

Β· Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΡ… ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ ΠΊ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… — Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Java Data Objects (Π°Π½Π³Π».) ΠΈ Java Persistence API (Π°Π½Π³Π».);

Β· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° шаблонов (начиная с Π²Π΅Ρ€ΡΠΈΠΈ 1.5);

Β· ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

ΠšΠ»Π°ΡΡΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Java

Π’Π½ΡƒΡ‚Ρ€ΠΈ Java ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ нСсколько основных сСмСйств Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ:

Β· J2EE ΠΈΠ»ΠΈ Java EE (начиная с v1.5) — Java Enterprise Edition, для создания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния уровня прСдприятия;

Β· J2SE ΠΈΠ»ΠΈ Java SE (начиная с v1.5) — Java Standard Edition, для создания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ — для Π½Π°ΡΡ‚ΠΎΠ»ΡŒΠ½Ρ‹Ρ… систСм;

Β· J2ME, Java ME ΠΈΠ»ΠΈ Java Micro Edition, для использования Π² ΡƒΡΡ‚ройствах, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ мощности, Π² Ρ‚ΠΎΠΌ числС ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π°Ρ…, КПК, встроСнных систСмах;

Β· Java Card для использования Π² ΡƒΡΡ‚ройствах Π±Π΅Π· собствСнного Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌΠ°ΡˆΠΈΠ½Π½ΠΎΠ³ΠΎ интСрфСйса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ΡΠΌΠ°Ρ€Ρ‚-ΠΊΠ°Ρ€Ρ‚Π°Ρ….

Π‘Π°ΠΌΡ‹ΠΌΠΈ популярными ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ сСрвСрныС Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ сСмСйства J2EE.

ПослСдним Ρ€Π΅Π»ΠΈΠ·ΠΎΠΌ являСтся вСрсия 1.6, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ систСмы бСзопасности, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ XML, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° скриптового языка JavaScript Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Mozilla Rhino, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° интСграция с Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ столом, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΠΎΠ²Ρ‹Π΅ возмоТности Π² ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ графичСских интСрфСйсов.

Π€ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ:

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ вычислСниС арифмСтичСских Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ: слоТСниС, Π²Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π΄Π΅Π»Π΅Π½ΠΈΠ΅, sin (), cos (), exp (), sqr (), sqrt (). ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄.

Руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅:

1. Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅

ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ манипулятором ΠΌΡ‹ΡˆΡŒ.

2. МСню

МСню ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ активируСтся Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Π€Π°ΠΉΠ»». Π”Π°Π»Π΅Π΅ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ подмСню: Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π΅ (Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ (с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ прилоТСния)

Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ:

Β· ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ (Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ€Π½Ρ‹Π΅)

Β· ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅

Β· ВригономСтричСскиС

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ (Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ€Π½Ρ‹Π΅):

§ Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅ (-)

§ Π‘Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (+)

§ Π”Π΅Π»Π΅Π½ΠΈΠ΅ (/)

§ Π£ΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ (*)

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅:

§ ВычислСниС числа ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ x (1/x)

§ ВычислСниС ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π° числа x (x2)

§ Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ корня ΠΈΠ· x ()

§ ВычислСниС ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π° (X%)

§ ВычислСниС Π½Π°Ρ‚ΡƒΡ€Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π»ΠΎΠ³Π°Ρ€ΠΈΡ„ΠΌΠ° (Ln (x))

§ Π’ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ x Π² Π»ΡŽΠ±ΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ (X^Y)

§ ВычислСниС экспонСнты числа x (Exp (x))

§ ВычислСниС Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Π° числа x (n!;! =x)

§ ВычислСниС y ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² ΠΎΡ‚ Ρ‡ΠΈΡΠ»Π° x (Y%X)

§ ВычислСниС ΠΊΡƒΠ±Π° числа x (x3)

§ Π’ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ 10 Π² ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ числа x (10^x)

ВригономСтричСскиС:

1) ΠžΠ±Ρ‹Ρ‡Π½Ρ‹Π΅:

§ ВычислСниС синуса числа x (sin (x))

§ ВычислСниС косинуса числа x (cos (x))

§ ВычислСниС тангСнса числа x (tan (x))

§ ВычислСниС котангСнса числа x (ctg (x))

2) ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹Π΅:

§ ВычислСниС арксинуса числа x (Asin (x))

§ ВычислСниС арккосинуса числа x (Acos (x))

§ ВычислСниС арктангСнса числа x (Atan (x))

4. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ замСчания:

ΠŸΠ΅Ρ€Π΅Π΄ использованиСм матСматичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ слСдуСт ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ» ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ. Для этого Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ нСсколько Ρ€Π°Π· Ρ‰Ρ‘Π»ΠΊΠ½ΡƒΡ‚ΡŒ ΠΌΡ‹ΡˆΠΊΠΎΠΉ ΠΏΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅, Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰Π΅ΠΉ Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.

Листинг ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

import javax. swing. *; // ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ swing для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Ρ€Π°Ρ„ичСским интСрфСйсом (для всСх ОБ)

import java. awt. *; // ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ awt для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π³Ρ€Π°Ρ„ичСским интСрфСйсом (для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… ОБ)

import java. awt. event. *; // ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ класс event для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий

import java. math. *; // ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ math для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΌΠ°Ρ‚СматичСскими функциями

public class ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ // создаём Π½ΠΎΠ²Ρ‹ΠΉ класс ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€

{

public static void main (String [] args) // ΠΌΠ΅Ρ‚ΠΎΠ΄ main позволяСт Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅

{

System. out. println («It is program calculator (Version 1; Developer — Dyakonov A. V.)»); // ΠΌΠ΅Ρ‚ΠΎΠ΄ println Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π½Π° ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ строку Π² ()

MyFrame frame=new MyFrame (); // создаём экзСмпляр класса MyFrame

frame. setBackground (Color. blue); // Π·Π°Π΄Π°Ρ‘ΠΌ Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°

frame. setDefaultCloseOperation (JFrame. EXIT_ON_CLOSE); // ΠΌΠ΅Ρ‚ΠΎΠ΄ setDefaultCloseOperation Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ прилоТСния

frame. show (); // ΠΌΠ΅Ρ‚ΠΎΠ΄ show рисуСт наш frame

}

}

class MyFrame extends JFrame // создаём Π½ΠΎΠ²Ρ‹ΠΉ класс MyFrame Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ класса JFrame

{

public MyFrame () // ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ конструктор класса MyFrame

{

setTitle («ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€»); // Π·Π°Π΄Π°Ρ‘ΠΌ имя Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°

Container pane= getContentPane (); // Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

MyPanel panel= new MyPanel (); // создаём экзСмпляр класса MyPanel

pane. add (panel); // добавляСм ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ panal

setSize (350,350); // Π·Π°Π΄Π°Ρ‘ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ фрэйма

JMenu fileMenu=new JMenu («Π€Π°ΠΉΠ»»); // создаём экзСмпляр класса JMenu

JMenuItem newItem=fileMenu. add

(«Π˜Π½Ρ„ормация ΠΎ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π΅: ВСрсия 1; Π Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ — Π”ΡŒΡΠΊΠΎΠ½ΠΎΠ² А. Π’. «);

fileMenu. addSeparator ();

JMenuItem exitItem=fileMenu. add (new AbstractAction («Π’Ρ‹Ρ…ΠΎΠ΄»)

{

public void actionPerformed (ActionEvent event)

{System. exit (0);

}

});

JMenuBar menuBar=new JMenuBar ();

setJMenuBar (menuBar);

menuBar. add (fileMenu);

}

}

class MyPanel extends JPanel // создаём Π½ΠΎΠ²Ρ‹ΠΉ класс MyPanel Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ класса JPanel

{

private JLabel display; // создаём ΠΏΠΎΠ»Π΅ JLabel для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ display (тСкстовоС ΠΏΠΎΠ»Π΅)

private JPanel panel; // создаём ΠΏΠΎΠ»Π΅ JPanel для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ panel

private boolean start; // создаём ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ start Ρ‚ΠΈΠΏΠ° boolean

private String lastCommand; // создаём ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Ρ…Ρ€Π°Π½ΡΡ‰ΡƒΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ послСднСй Π²Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

private double result; // создаём ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ для хранСния Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°

public MyPanel () // ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ конструктор класса MyPanel

{

setLayout (new BorderLayout ()); // размСстим ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ тСкстового Ρ‚ΠΈΠΏΠ° (ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° BorderLayout () Π΄Π΅Π»ΠΈΡ‚ панСль Π½Π° Π΄Π²Π΅ части)

start=true; // ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ start

result=0;

lastCommand="=";

display=new JLabel («0»); // создаём ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ display

add (display, BorderLayout. NORTH); // добавляСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ display Π½Π° frame

display. setBackground (Color. green);

panel=new JPanel (); // ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ panel

panel. setLayout (new GridLayout (10,4)); // Π·Π°Π΄Π°Ρ‘ΠΌ ΡΠ΅Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠ°Π½ΠΎΠ²ΠΊΡƒ

// Π΄ΠΎΠ±Π°Π²ΠΈΠΌ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΎΠΊΠ½ΠΎ нашСго ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Π°

addButton («7», 0);

addButton («8», 0);

addButton («9», 0);

addButton («/», 1);

addButton («4», 0);

addButton («5», 0);

addButton («6», 0);

addButton («*», 1);

addButton («1», 0);

addButton («2», 0);

addButton («3», 0);

addButton («-», 1);

addButton («0», 0);

addButton («. «, 0);

addButton («=», 1);

addButton («+», 1);

addButton («X2», 1);

addButton («sqrt», 1);

addButton («1/x», 1);

addButton («%», 1);

addButton («sin», 1);

addButton («cos», 1);

addButton («tan», 1);

addButton («ctg», 1);

addButton («X^Any», 1);

addButton («Asin», 1);

addButton («Acos», 1);

addButton («Atan», 1);

addButton («X3», 1);

addButton («LN», 1);

addButton («Exp», 1);

addButton («n!», 1);

addButton («y%x», 1);

addButton («10^x», 1);

add (panel, BorderLayout. CENTER); // Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π°ΡˆΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ (ΠΎΠ±Π»Π°ΡΡ‚ΡŒ) Π² ΡΠ΅Ρ€Π΅Π΄ΠΈΠ½Ρƒ

}

private void addButton (String s, int i) // создадим ΠΌΠ΅Ρ‚ΠΎΠ΄ addButton (ΠΌΠ΅Ρ‚ΠΎΠ΄ addButton создаёт ΠΊΠ½ΠΎΠΏΠΊΠΈ)

{

JButton button=new JButton (s); // создаём ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ button (ΠΊΠ½ΠΎΠΏΠΊΡƒ) класса JButton

button. setBackground (Color. white); // Π·Π°Π΄Π°Ρ‘ΠΌ Ρ†Π²Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ

button. setForeground (Color. black); // Π·Π°Π΄Π°Ρ‘ΠΌ Ρ†Π²Π΅Ρ‚ названия ΠΊΠ½ΠΎΠΏΠΊΠΈ

if (i==0) // Ссли i=0, Ρ‚ΠΎΠ³Π΄Π° выполняСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ addActionListener (new InsertAction ()) ΠΊΠ½ΠΎΠΏΠΊΠΈ button, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса InsertAction

{

button. addActionListener (new InsertAction ()); } // ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ пСрСдаётся классу InsertAction (), заполняСтся пСрСмСнная input

if (i==1) // Ссли i=1, Ρ‚ΠΎΠ³Π΄Π° выполняСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ addActionListener ΠΊΠ½ΠΎΠΏΠΊΠΈ button

{

button. addActionListener (new CommandAction ());

}

panel. add (button); // добавляСм ΠΊΠ½ΠΎΠΏΠΊΡƒ button Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ (ΠΎΠ±Π»Π°ΡΡ‚ΡŒ) panel

}

private class InsertAction implements ActionListener // создадим класс InsertAction, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ интСрфСйс ActionListener (ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΊΠ»Π°Π²ΠΈΡˆΠΈ 1,2,3,4 ΠΈ Ρ‚. Π΄.)

{

public void actionPerformed (ActionEvent event) // напишСм ΠΌΠ΅Ρ‚ΠΎΠ΄ actionPerformed ΠΊΠ°ΠΊ это Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ActionListener

{

String input=event. getActionCommand (); // создадим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Ρ…Ρ€Π°Π½ΡΡ‰ΡƒΡŽ Π²Π²Π΅Π΄Ρ‘Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ (getActionCommand () — ΠΌΠ΅Ρ‚ΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ)

if (start)

{display. setText (««); // присвоим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ display Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ пустой стороки

start=false; }

if (! input. equals («. «) || (display. getText (). lastIndexOf («. «) <0)) // ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π²Ρ‚ΠΎΡ€ΡƒΡŽ Ρ‚ΠΎΡ‡ΠΊΡƒ

display. setText (display. getText () +input); // присвоим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ display Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строки

}

}

private class CommandAction implements ActionListener // создадим класс CommandAction, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ интСрфСйс ActionListener (ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΊΠ»Π°Π²ΠΈΡˆΠΈ дСйствия)

{

public void actionPerformed (ActionEvent event) // напишСм ΠΌΠ΅Ρ‚ΠΎΠ΄ actionPerformed ΠΊΠ°ΠΊ это Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ActionListener

{

String command=event. getActionCommand (); (); // создадим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ, Ρ…Ρ€Π°Π½ΡΡ‰ΡƒΡŽ Π²Π²Π΅Π΄Ρ‘Π½Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ (getActionCommand () — ΠΌΠ΅Ρ‚ΠΎΠ΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ)

if (start)

{

if (command. equals («-»)) // Ссли пСрСмСнная command содСрТит Π·Π½Π°ΠΊ минус

{display. setText (command); // присвоим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ display Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ command

start=false;

}

else lastCommand=command; // ΠΈΠ½Π°Ρ‡Π΅ присвоим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ lastCommand Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ command

{if (! display. getText (). equals («-»)) // выполняСм ΠΌΠ΅Ρ‚ΠΎΠ΄ calculate, Ссли display. getText () Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ Π·Π½Π°ΠΊ «-»

calculate (Double. parseDouble (display. getText ())); // ΠΈΠ½Π°Ρ‡Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ calculate ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Ρ‚ всС расчёты; ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ calculate Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠ΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ строки Π² Ρ‡ΠΈΡΠ»ΠΎ (Double. parseDouble)

lastCommand=command; // присвоим ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ lastCommand Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ command

start=true;

}

}

}

public void calculate (double x) // создадим (опишСм) ΠΌΠ΅Ρ‚ΠΎΠ΄ calculate

{double y=Math. toRadians (x); // ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΠΌ Ρ€Π°Π΄ΠΈΠ°Π½Ρ‹ Π² Π³Ρ€Π°Π΄ΡƒΡΡ‹

if (lastCommand. equals («+»)) result+=x; //

else if (lastCommand. equals («-»)) result-=x;

else if (lastCommand. equals («*»)) result*=x;

else if (lastCommand. equals («/»)) result/=x;

else if (lastCommand. equals («X2»)) result=Math. pow (x, 2);

else if (lastCommand. equals («1/x»)) result=1/x;

else if (lastCommand. equals («%»)) result=x/100;

else if (lastCommand. equals («X3»)) result=Math. pow (x, 3);

else if (lastCommand. equals («sqrt»)) result=Math. sqrt (x);

else if (lastCommand. equals («sin»)) result=Math. sin (y);

else if (lastCommand. equals («cos»))

{ if (x==90) result=0; else

result=Math. cos (y);

}

else if (lastCommand. equals («tan»)) result=Math. tan (y);

else if (lastCommand. equals («=»)) result=x;

else if (lastCommand. equals («ctg»)) result=1/ (Math. tan (y));

else if (lastCommand. equals («Asin»)) result= (180/Math. PI) * (Math. atan (x/Math. sqrt (1 — x*x)));

else if (lastCommand. equals («Acos»))

result= (180/Math. PI) * ((Math. PI / 2 — (Math. atan (x/Math. sqrt (1 — x*x)))));

else if (lastCommand. equals («Atan»)) result= (180/Math. PI) * (Math. atan (x));

else if (lastCommand. equals («LN»)) result=Math. log (x);

else if (lastCommand. equals («Log»)) result=Math. log (x);

else if (lastCommand. equals («10^x»))

{double S=1;

for (double u=1; u<=x; u++)

S=10*S;

result=S;

}

else if (lastCommand. equals («Exp»)) result=Math. exp (x);

else if (lastCommand. equals («X^Any»))

{

String ss=JOptionPane. showInputDialog

(«Π’Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ»);

int ii=Integer. parseInt (ss);

result=Math. exp (ii* (Math. log (x)));

result=Math. round (result*100) /100;

}else if (lastCommand. equals («n!»))

{ double P=1;

for (int t=1; t<=x; t++)

P=t*P;

result=P;

} else if (lastCommand. equals («y%x»))

{

String qq=JOptionPane. showInputDialog

(«Π’Ρ‹Π±Π΅Ρ€Π΅Ρ‚Π΅ ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΉ ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ ΠΎΡ‚ Ρ‡ΠΈΡΠ»Π°»);

double ww=Double. parseDouble (qq);

result=x*ww/100;

}

display. setText (««+result); // присвоим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ result ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ display для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° ΡΠΊΡ€Π°Π½

}

}

руководство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€

Алгоритмы

Алгоритм № 1.

Алгоритм № 2.

Алгоритм № 3.

ВСстовыС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

1) Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

2) Π’Ρ‹Ρ‡ΠΈΡ‚Π°Π½ΠΈΠ΅. (12−5=7)

3) Π’ΠΎΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ x Π² Π»ΡŽΠ±ΡƒΡŽ ΡΡ‚Π΅ΠΏΠ΅Π½ΡŒ (X^Y). (25=32)

4) ВычислСниС синуса числа x (sin (x)) (sin (90) =1)

5) ВычислСниС y ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ΠΎΠ² ΠΎΡ‚ числа x (Y%X) (11% ΠΎΡ‚ 300=33)

6) ВычислСниС Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ°Π»Π° числа x (x!; x={N}) (7! =5040)

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈ

1. http://ru. wikipedia.org/wiki/Java#

2. http://ru. wikipedia.org/wiki/ ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.

3. Π’ΠΈΠ΄Π΅ΠΎ ΡƒΡ€ΠΎΠΊΠΈ Java ΠΎΡ‚ Teach Pro (http://videoshkola.com/video-uroki-programmirovaniya/video-uroki-java. htm)

4. http://www.ctc. msiu.ru/materials/Book/node82.html

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ