Skaitļošanas programmas kalkulatora izstrāde Java valodā ir lielisks veids, kā apgūt pamata programmēšanas koncepcijas un īstenot praktisku projektu. Šajā rokasgrāmatā soli pa solim tu iziesi cauri grafiskā kalkulatora izstrādei. Tiks skaidrots, kādi apsvērumi tika veikti klases strukturēšanai, kā izveidot izkārtojumu un kā darbojas loģika aprēķiniem.
Tev jau jābūt pamatzināšanām par Java, pirms sāc šo projektu – tas būtiski palielinās tavu mācību panākumus.
Svarīgākās atziņas
- Kalkulators tiks veidots, izmantojot režģa izkārtojumu, kas atvieglo pogu un ievades lauku novietošanu.
- Tiks izmantota viena klase, lai samazinātu sarežģītību un saglabātu kodu skaidru.
- ActionListeneru izmantošana ļauj programmas interaktivitāti un aprēķinu izpildi.
Soli pa solim rokasgrāmata
Vispirms aplūkosim pamatu mūsu lietojumprogrammai. Kalkulators darbosies uz JFrame un to varēs paplašināt pēc funkcionalitātes. Klase, kuru mēs izveidosim, manto no JFrame un ietver visus elementus, kas mums nepieciešami.
1. solis: Galvenā metode un konstruktors
Galvenā metode ir tava lietojumprogrammas ieejas punkts. Tā izveido kalkulatora klases instanci, nosaka izmēru un padara logu redzamu. Konstruktors iestatīs loga nosaukumu un inicializēs izkārtojumu.

Konstruktora laikā tu iestati loga izmēru uz 325 x 200 pikseļiem. Lai nodrošinātu, ka izkārtojums nemainās loga izmēra mainīšanas gadījumā, tev vajadzētu izmantot setResizable(false). Tas ļaus izkārtojumam palikt stabilam, neatkarīgi no tā, kā lietotājs pielāgo logu.

2. solis: Izveido izkārtojumu
Izmantojam GridLayout izkārtojumu. Tas ļaus tev novietot pogas un ievades laukus pārskatāmā režģī. Tu izveido JPanel, kurš izmantos režģa izkārtojumu. Šeit tu definē piecas rindas un vienu kolonnu.
Nākamajā solī tu pievienosi panelī augšdaļu, kur tiks novietots ievades lauks un "Clear" poga. To tu paveiksi, izmantojot atsevišķu metodi, getInputPanel().

3. solis: Izveido pogas
Papildus ievades laukiem mēs pievienosim vairākas pogas dažādiem skaitliskajiem ievadiem un pamata matemātiskajām operācijām. Lai nenovērstu kodu, tu izveidosi ģenerisku metodi getRowPanel(). Šī metode tiks izmantota, lai katrai rindiņai izveidotu pogas un pievienotu tās galvenajam panelim.

Tu definēsi masīvu, kurā būs pogu nosaukumi, piemēram, {1, 2, 3}, un to nodosi getRowPanel(). Izmantojot ciklu, tu pievienosi katru pogu panelim un aprīkos to ar ActionListener, kas izsauks tavu izveidoto darbību metodi.
4. solis: Ievies ActionListener
ActionListener ieviešana ir izšķiroša tavam kalkulatora interaktivitātei. Kad poga tiek nospiesta, ActionListener metode, kurā tu izmanto actionPerformed(), iegūst pogas tekstu un nosaka, kuru aprēķinu veikt.

Šajā posmā ir svarīgi arī saglabāt programmas stāvokli, īpaši, ja lietotājs veic matemātisko operāciju. Dažas palīgvariablas, piemēram, currentOperation, palīdzēs tev izsekot lietotāja pašreizējai izvēlei.
5. solis: Aprēķinu loģika
Kalkulatora galvenā loģika notiek metode calculate(). Šeit tiek noteikts, kas jādara ar ievadītajām vērtībām (saskaitīšana, atņemšana utt.). Nospiežot "Vienāds" vai veicot kādu operāciju, tev jāzina, kurš operands pēdējo reizi tika norādīts. Ņemot vērā, ka aprēķins balstās uz iepriekšējām vērtībām, ir svarīgi pārvaldīt stāvokli starp lietotāja ievadēm.

switch paziņojums metode calculate() pārbauda currentOperation mainīgo un veic atbilstošu aprēķinu. Ja lietotājs, piemēram, ievada "5 + 5" un nospiež "Vienāds", rezultāts "10" tiek attēlots ievades laukā.

6. solis: "Clear" funkcija
Clear poga ir arī jādara darboties, tai jāizdzēš pašreizējā vērtība un operācijas. clearState() metodes izsaukumā tu iestati visas vērtības uz nulles un nodrošini, lai ievades lauks tiktu iztukšots.

Veicot šos soļus, tu esi izveidojis vienkāršu, funkcionējošu kalkulatoru, kas veic pamata matemātiskās operācijas. Turpmāk tu vari pielāgot projektu, pievienojot papildu funkcijas, piemēram, iespēju strādāt ar decimāldaļām vai paplašinātām matemātiskām operācijām.
Kopsavilkums – Java iesācējiem: Rokasgrāmata kalkulatora izstrādāšanai
Tu esi uzzinājis, kā izstrādāt grafisku kalkulatoru Java valodā. Tu esi izveidojis lietojumprogrammas struktūru, izstrādājis lietotāja saskarni un īstenojis visas nepieciešamās funkcijas aprēķinu veikšanai. Ar šo zināšanu palīdzību tu tagad esi spējīgs realizēt sarežģītākus Java projektus.
Biežāk uzdotie jautājumi
Kā pievienot pogas manam JFrame?Pogas tiek pievienotas JPanel ar GridLayout, kas pēc tam tiek pievienots JFrame-ContentPane.
Kā varu pievienot ActionListener pie savām pogām?Konstruktora vai pogu inicializēšanas laikā tu vari izmantot addActionListener(), lai sasaistītu vēlamo metodi.
Ko darīt, ja manā kodā ir kļūda?Izmanto debuggeru, lai soli pa solim izietu cauri savam kodam un identificētu kļūdas. Pārbaudi arī iespējamos drukas kļūdas vai loģiskās kļūdas tavos nosacījumos.
Kā varu paplašināt savu kalkulatoru?Tu vari ieviest funkcijas, piemēram, decimāldaļu ievadi, pievienot papildu matemātiskās operācijas vai pielāgot lietotāja saskarni, lai radītu lielāku skaidrību.