Hacker VS Programatori – Demo

Pershendetje, jemi perseri ne nje nga temat e nxehta , kam pergatitur nje skenar ku per te shpjeguar “punen” qe bejn pershkruesit “private” public ne java kam shkruajtur versione te ndryshme te nje programi “banke” me funksione shume te thjeshta.
E futa “hackerin” ne loje sepse tema behet shume me interesante, leximi i kodit behet akoma me itneresant dhe ajo qe doja te shpjegoja (mbrojtja e variabilave dhe metodave ne programimin me objekte)  behet me e qarte dhe e kuptueshme.
Kodin e kam komentuar mire, ose me sakt “tabllon e ngjarjes” keshtu qe leximi i kodit do jete shume i mire… Nese nuk lexoni kod:
“Ne kemi nje perkufizim te pergjithshem per lamerat, themi qe jane njerez qe nuk lexojn kod” 
Kodin me gjithe udhezimet e perdorimit mund ta shkarkoni:
http://albanianwizard.org/pub/bhck.zip

Nje pjese te programit mund ta shihni tek:
http://albanianwizard.org/Postokodin/60

Kujtoj qe skenari eshte virtual, ne boten reale nje vulnerabilitet i tipit buffer overflow do ti jepte sulmuesit kontroll te plote mbi programin vulnerabel dhe kjo do te kompromentonte dhe pjesen tjeter te sistemit.
Sigurohet kenaqesi dhe info pa limit gjat leximit 😉
Have Phun 😛

RREGULLA TE ARTA PROGRAMIMI

Shpesh here nje program cilesor ben diferencen, e kam fjalen ne te gjitha aspektet.
Le te permendim disa rregulla te arta qe vertet bejn diferencen:

1. Ne cilen gjuhe ta shkruajm programin?

Shpesh here kjo eshte zgjedhje vendimtare pasi gjuha qe mund te kemi zgjedhur nuk eshte shume e pershtatshme per nje program te caktuar ndersa nje tjeter eshte shume here me e mire, psh te marrim nje rast banal si psh te perdoresh assembly per te koduar nje program me grafik te avancuar ose e kunderta te perdoresh cobol nderkohe qe te duhet nje program shume i shpejt (pra qe mund te kodohej ne assembly ose python qe jane gjuhe qe japin goxha shpejtesi)
Pra ky eshte hap themelor.

2. Dizajni imagjinar i programit

Kjo vertet them se eshte pika kryesore dhe themelore e te gjith kesaj, pasi nese ne e ideojm programin ne koken tone, me te gjitha pjeset e tij pastaj zbatimi eshte thjesht 20% e punes, nderkohe qe nje programator i mire ne UML mund te bente shume pune ne keto raste, njohuri te tilla japin stabilitet, siguri, funksionalitet.

3. Thjeshtesia

Sa me i thjeshte, aq me mire, nje program i thjesht ka fluiditet dhe eshte i thjesht per tu rregulluar ndersa nje program i komplikuar eshte shume i prirur per te pasur bug dhe vulnerabilitete, ndersa nje program i thjesht eshte edhe me i leht per tu rregulluar dhe kjo çon tek nje rregull tjeter qe eshte PAK RRESHTA.

4. Modulariteti

Ketu hyjm tek programimi me objekte, shpesh jane objektet qe na kursejn rreshta kodi dhe na japin thjeshtesi, nje rregull shume i rendesishem ketu eshte:
Mbaje MAIN() me sa me pak rreshta kodi, kjo do te thote qe nese ne bejm nje program (po e zeme ne java) mund te kemi 15 faile.java ku vetem njeri ka main() per te egzekutuar programin, nese ne i ndajm Konstruktoret dhe metodat ne secilin nga failet dhe mainin e mbajm me pak rreshta vetem sa per te egzekutuar objektet e shperndara atehere kjo do japi nje program shume te thjesht per tu shpjeguar edhe njerit qe nuk ja ka idene programimit.

5. Ridizaini

Gjate perfundimit te programit ka shume gjasa qe te na lindin ide te reja, ne keto raste edhe nese duam te bejm nje ridizajn te programit do te jete shume i thjesht pasi objektet klasat jane te ndara secila ne vendin e vet dhe metodat po ashtu keshtu qe duhet te jete shume e thjesht per te “lozur” me programin tone.

6. Algoritmi fitues

Shpesh algoritmi fitues nuk eshte ai me i komplikuar, por ai me i thjeshti, sepse thjeshtesi do te thote dhe fleksibilitet dhe kur kemi perpara nje projekt te perfunduar ku duhet te rregullojm bug-e kjo do te na kursente ore te tera.

Jane dhe shume te tjera, por per momentin po ndalohemi me keto. (jam duke ikur lol, shtoni metoda tek komentet)

Objektet dhe Klasat ne Java

Le ta harrojm per disa momente programimin :)
(kjo teme eshte e kendshme per tu lexuar edhe nga ata qe nuk kane asnje lloj eksperience programimi)
Eshte material shqip rreth “si te programojm” ne vazhden e mesimeve \ ushtrimeve java.

Te mendojm per objektet qe na rrethojn (shiko rreth e rrotull)….

Ne baze te studimeve eshte arritur ne perfundimin se njeriu eshte i prirur ta shohi boten ne objekte,po shoh rreth meje dhe pashe keto objekte:
– kart rimbushese
– liber
– celulari
– karrigia
– tryeza e shkrimit
– monitori
– tastiera
– Kompiuteri :)

Zakonisht te permendesh objekte, eshte me e thjeshte te permendesh jo  objekte, psh ngjyra e makines llogaritese nuk eshte objekt dhe as ajri siper tastieres.
Le te shohim se ç’fare e karakterizon objektin ne boten reale :)
Gjeja e pare qe na vjen ne mendje eshte:

Identiteti – kompiuteri eshte nje (1) pra eshte i plote dhe ka identitet, marrim nje shembull:
Ne rastin e njeriut,  ne bejm kart identiteti per veten tone dhe jo per syrin, doren, kemben pra per pjeset e ndryshme te trupit ose ne rastin e shteteve njihet nje shtet qe ka Identitet sepse te gjith banoret e tij kane nje lloj kulture dhe flasin te njejten gjuhe.

gjithashtu objekti ka:

Gjendje – ne rastin tone kompiuteri ka gjendje te caktuara, i ndezur  i fikur, “ne gjume” , i mbingarkuar e keshtu me radhe tamam siç ka gjendje uji (avull, leng, akull).

Sjellje – kompiuteri karakterizohet edhe nga nje “forme te sjelluri” menyre se si vepron ne situata te caktuara psh kur ne prekim tastieren, kur levizim “miushin” e keshtu me radhe.

Eshte pjese e objekteve te tjera – edhe kjo eshte nje tjeter karakteristik sepse perbehet nga objekte te tjera si ekrani, proçesori, tastiera, memorja etj te cilat te gjitha jane objekte te mirefillta perderisa kane Identitet, Gjendje dhe Sjellje pra nga kjo nxjerrim qe nje objekt mund te jete pjese e nje objekti me te madh ose nje objekt i madh mund te perbehet nga objekte me te vogla.
Ky kusht gjithsesi nuk eshte gjithmone i vertet pasi nese marrim nje laps, lapsi eshte objekt por ngjyra e lapsit ben pjes tek karakteristikat e lapsit dhe nuk eshte nje objekt ne vetvete, pra ne kete rast themi se kushti i katert nuk eshte gjithmon i vertete.

Persa i perket programimit:

Edhe persa i perket programimit, ndodh i njejti fenomen , objektet kane Identitet i cili eshte qelite e memorjes qe okupojne te cilat jane nje grup bitesh dhe ndodhen ne nje vend specifik ne memorje dhe jo ne vend tjeter. Kane gjendje pasi nje objekt ka variabila te cilat kane vlera te cilat percaktojn dhe gjendjen e objektit, pra gjendja e objektit percaktohet nga vlerat qe kane variabilat e tij. Gjithasthu objekti ka Sjellje e cila percaktohet nga “Metodat” te cilat percaktojn se ç’fare duhet te bej objekti, psh main() eshte nje metod shume tipike.

Klasa eshte thjesht pershkrimi i tipit te objektit, pershembull nese ne importojm klasen java.util.Scanner;
import java.util.Scanner;
klasa ka nje emer qe quhet Scanner dhe eshte nje nenklas e util qe do te thote utilities (te nevojshme) e cila eshte nen klas e vet gjuhes java keshtu njehere qe e kemi importuar ne mjafton te perdorim new per te krijuar objektin tone shembull:
Scanner sk = new Scanner (System.in);
Klasa pra siç u tha dhe me siper eshte thjeshte pershkrimi i lloit te objektit dhe mund te jete klase qe e krijojm ne ose mund te jete klas e gatshme qe e perfshijm ne programin tone me “import”.

Sfide programimi Java – I/O

Per programatoret java po sjellim nje ushtrim shume interesant dhe ne te njejten kohe nje sfide ne zgjidhjen e tij. Mua personalisht me mori rreth 40 minuta shume te kendshme. Problemi dhe zgjidhja eshte kompleks dhe kerkon intuite ne programim.

Ja ushtrimi:

/*
http://albanianwizard.org
arditi*at*hush*pik*ai
Liçence GPLv3
———————————————————–
Program i nje niveli relativisht te veshtire per temat I\O
Llogjika e ketij programi eshte goxha e komplikuar 😉
———————————————————–
>>Shkruaj nje program i cili lexon N (numer i pa percaktuar) grupe numrash te plote nga nje skedar ku fillim i secilit grupi shenohet me “grupi”.
>>Programi mund te perdori ç’faredo numri grupesh (pra numri i grupeve nuk eshte i limituar).
>>Programi mund te perdori vetem klasat java.util.Scanner; java.io (objektet qe permbajn Scanner new File, .next(), .trim() etj) dhe gjat zhvillimit te tij lejohet vetem while, if, else !
***********************************************************
Ja faili input
***********************************************************
grupi
2 1 6 3 1 4
grupi
grupi
1 19 1 5 2 4 1 2 1
grupi
10 11
12 13
7   8
9
***********************************************************
Ja dhe outputi

***********************************************************
Shuma e grupit 1, eshte e barabarte me 17
Grupi i 2-te nuk ka te dhena.
Shuma e grupit 3, eshte e barabarte me 36
Shuma e grupit 4, eshte e barabarte me 70
*/

Per c’do sqarim postoni ketu por besoj se nga vet shembulli ne fjale Input – Output e keni kuputar se per cfare ben fjale ushtrimi dhe si eshte kerkesa.

Pritet zgjidhja e tij deri ne 1 jave qe nga data e postimit (dmth sot).
Mbas 1 jave do te postoj vet zgjidhjen.
Programinuk me mori shume rreshta kod, thjesht duhet te mendohet mire zgjidhja. :)
Happy coding.

Si te programojm ne Java – Shembull Input \ Output

http://albanianwizard.org/Postokodin/53
/*
http://albanianwizard.org
arditi*at*hush*pik*ai
Liçence GPLv3
——————————-
USHTRIM
——————————-
Shkruaj nje program i cili analizon nje txt file dhe numrat pozitiv i depoziton
ne nje file pozitive.txt, kurse ato negativet i depoziton ne nje file negative.txt
Pyete perdoruesin per ç’do emer faili.
*/

import java.util.*;
import java.io.*;
public class FiltroNumrat {
public static void main (String []args ) throws IOException
{
//Percaktojm Variabilat\\
int numri;
String origjina, destpozitiv, destnegativ;
//Krijoj Objektin per emrat e faileve\\
Scanner inPuti = new Scanner (System.in);

//Marrim te dhenat nga faili origjinar
System.out.println(“Emri i Failit Origjinar :”);
origjina = inPuti.nextLine().trim();
File origjinaf = new File (origjina);
Scanner ori = new Scanner (origjinaf);

//Marrim te dhenat nga faili i destinacionit te numrave pozitiv
System.out.println (“Emri i Failit ku do te depozitohen numrat pozitiv :”);
destpozitiv = inPuti.nextLine().trim();
File destinapoz = new File (destpozitiv);

//Marrim te dhenat nga faili i destinacionit te numrave negativ
System.out.println (“Emri i Failit ku do te depozitohen numrat negativ :”);
destnegativ = inPuti.nextLine().trim();
File destinaneg = new File (destnegativ);

//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\//\\
//Krijojm objektet per te printuar tek failet e futura nga perdoruesi
PrintStream psp = new PrintStream(destinapoz);  //Pozitiv
PrintStream psn = new PrintStream (destinaneg);   //Negativ
numri = ori.nextInt(); //numri merr vleren e pare qe vjen nga faili origjinar
while (ori.hasNextInt()) //Nderkohe qe nga faili origjinar vijn numra te plote…
{
while (numri >= 0) //dhe ky numer eshte >= 0
{
psp.println(“Numri pozitiv eshte :” + numri); //printo numrin pozitiv tek faili
System.out.println(“Numri pozitiv eshte :” + numri); //printo numrin pozitive ne ekran
numri = ori.nextInt();//Jepi variabiles numri vleren e radhes qe vjen nga faili origjinar
/*Nese kjo nuk behet atehere programi do te printoj vazhdimisht numrin e pare dhe keshtu
do te kaloj ne infinit */
}
while (numri <= 0)
{
psn.println(“Numri negativ eshte :” + numri);//printo numrin negativ tek faili
System.out.println(“Numri negativ eshte :” + numri);//printo numrin negativ ne ekran
numri = ori.nextInt();//Jepi variabiles numri vleren e radhes qe vjen nga faili origjinar
}
}
psp.close();
psn.close();
/*Kjo pjese eshte pjesa qe me ka marre shume kohe sepse ndodh qe te behet nje gabim banal dhe te
* vendoset mbyllja e printimit ne brendesi te ciklit while gje qe do te sillte qe ne failet
* e outputit pozitive.txt dhe negative.txt do te gjenim vetem nje numer , numrin e fundit.. Kjo
* sepse sa here qe do printohej nje numer faili do te mbyllej dhe kur te printohej tjetri do te rihapej
* gje qe do te sillte ate qe tham me siper.. Ky Bug ka kete pamje:
* while (numri <= 0)
{
psn.println(“Numri negativ eshte :” + numri);
System.out.println(“Numri negativ eshte :” + numri);
numri = ori.nextInt();
psn.close();
}
* Pra siç e shohim psn.close(); do te mbyllte printimin ne ç’do cikel while.
*/
}
}

Cikli While – Te programojm ne Java

Cikli While eshte nje pjese e thjeshte e programimit ne pergjithesi, eshte gjeresisht e perdorur dhe mund te perfitojm shume nga perdorimi i tij. Mund te kisha marre shume shembuj per ta ilustruar por zgjodha shumezimin faktorial ne menyre qe te kuptohet me ne gjeresi.

import java.util.Scanner;    //Importojm klasen skaner pasi do marrim impute nga tastiera
public class Faktorial
{
public static void main (String [ ]args)
{
Scanner inPuti = new Scanner (System.in); //krijojm objektin inPuti
long N, fakt = 1; //Percaktojm 2 variabila 1 long N dhe tjetren 1 per faktorialin
System.out.println ("Fut nje numer :");
N = inPuti.nextLong();
if (N >= 0 && N < 20)
  {
	while (N > 1)  //Perderisa Numri > 1 vazhdo

  {
		fakt = fakt * N;  // 1 = 1 * Numrin
        N = N - 1;        //Numri = Numri - 1
  }  //Numri = Numrin - 1
  System.out.println ("Faktoriali eshte :" + fakt); //Printojm faktorialin e numrit.
  }
 else
          {
          System.out.println ("Numri duhet te jete 0 ose me i madh.");
          System.out.println ("SHENIM: Per numra me te medhenj se 20 perfundimi do jete i gabuar sepse variabila i tejkalon bitet qe mund te mbaj" +
           "dhe automatikisht bitet teper i kalon ne kosh, dhe si problem eshte i njohur me \"Overflow\" ne boten e informatikes");
           }
}
}

Bukur mbasi i hodhem nje sy ushtrimit shpjegojm se ç’fare ndodhi.

Shembull, po kryejm te gjitha operacionet qe do bej cikli yne while nese merr numrin 4 nga perdoruesi:
Fut nje numer: 4, ky numer shkon dhe depozitohet ne variabilen N
if kontrollon nese nje statement eshte i vertete, dhe meqenese 4 >= 0 dhe me i vogel
se 20 atehere e fut ne cikel while i cili nderkohe qe sheh se 4 > 1:
fakt = fakt * N                                        ==> 1 = 1 * 4                           ==> fakt = 4
N = N – 1                                                  ==> N = 4 – 1                          ==> N = 3
while ( N > 1 ) ==> 3 > 1
fakt = fakt * N                                         ==> 4 = 4 * 3                          ==> fakt = 12
N = N – 1                                                   ==> 3 = 3 – 1                          ==> N = 2
while ( N > 1 ) ==> 2 > 1
fakt = fakt * N                                         ==> 12 = 12 * 2                      ==> fakt = 24
N = N – 1                                                   ==> 2 = 2 – 1                           ==> N = 1
while ( N > 1 ) ==> Tani N = 1 dhe 1 nuk eshte me i madh se 1 keshtu qe cikli mbyllet
nderkohe qe variabila fakt ka vleren 24 ndersa variabila N ka vleren 1
Besoj se eshte e qarte, pra Cikli While ka kete forme, “nderkohe qe : kushti : veprime”

Ne kete ushtrim vihet re dhe nje overflow nese fusim numra me te medhenj se 20 , do te ishte interesante ta trajtonim dhe ne nivelin e sigurise kete problem te njohur por shpresojm se ne raste te tjera do te jete diskutim me i pershtatshem

Algoritme: Rekursionet ne java

Pershendetje vizitor te albanianwizard. Shpresoj te keni kaluar nje kohe fitimprurese ne kete blog ashtu sic ka ndodhur tek mua…sot e tutje do mundohem dhe un te jap kontributin tim :).
Ne kete informacion te pare qe postoj ne Albanian Wizard do te trajtoj dhe shpjegoj nje algoritem i rendesishem dhe teper i perdorshem ne shkencat kompjuterike.
Pikerisht rekursionet.
Rekursioni eshte nje algoritem i cili zgjidh probleme dhe ceshtje nen ndihmen e nenceshtjeve…ja te jap nje shembull konkret dhe tipik te nje rekursioni:
Sic e dim 3! (faktoriali) = 3 * 2 * 1 (apo jo? )
Atehere kete faktorial mund ta paraqesim 3! = 3 * 2!
Ky eshte nje shembull tipik i nje rekursioni eshte “Hello World-i” i rekursioneve 😀 .
Kalojm pak ne java dhe kete shembul, pra faktorialin e numrit n e paraqesim me ane te nje aplikacioni java:

import java.util.Scanner;
public class Faktorial
{
public static void main( String args[] )
{
Scanner input = new Scanner(System.in);
System.out.println(“Fusni nje nr ne menyre qe te paraqitet faktoriali tij”);
int nr = input.nextInt();
System.out.printf(“\n%d”,faktoriali(nr));

}
public static long faktoriali (int nr1 )
{
if ( nr1 <= 1 )
return nr1;
else
return nr1 * faktoriali( nr1 – 1 );
}
}

Pjesa qe na intereson eshte tek metoda faktoriali, e cila merr si argument nje integer nr1 (inseruar nga useri) dhe nqs ky nr eshte me i vogel apo i barabarte me 1 atehere kthehet vlera nr1, perndryshme nqs eshte me e madhe atehere numri i futur shumezohet me faktorialin e ketij nr – 1. pra pikerisht ajo qe shpjeguam me larte.
Ky eshte nje shembull i nje algoritmi rekursive. Nje problem te till mund ta zgjidhim edhe me ane te perseritjeve…per cfare na duhet rekursionet atehere??
Ka shum raste ne te cilat eshte me e lehte te perdorim rekursione se sa perseritje (for, while). Psh. nqs na duhet nje program i cili gjeneron te gjitha mundesite e kombinimeve te shkronjave ne nje String atehere eshte me mire te perdorim rekursionet…Per te gjetur kombinimet e n objekteve duhet te gjejme kombinimet e n – 1 objekteve dhe elementin e mbetur ta fusim ne te gjitha pozicionet e mundshme tek nje kombinim n-1.
Pra, nqs kemi tre objekte A, B, C dhe na duhet te gjejme te gjitha kombinimet e mundshme te dy objekteve B dhe C, te cila jane B C dhe C B. Me pas objektin e mbetur duhet ta inserojme ne cdo pozicion:
~ B ~ C ~    dhe ~ C ~ B ~  .

Konceptin e rekursionit mendoj se do ta kuptoni ne menyre me te zgjeruar edhe duke par source kodet ne java qe do te upload-oj se shpejti ne faqe ;).
Gjithsesi rekursioni ka shum per te folur e duhet praktikuar shum nqs doni te lexoni qarte nje source kod ku perdoret rekursion dhe eshte akoma me e veshtire per te shkruajtur nje te till.

Si nje trajtim i nivelit te par shpresoj tju kete pelqyer…

Fragmente (kode bazike) nga projekti java

Po publikojm disa nga source kodet e projektit java (ende ne perpunim), keto jane ushtrime elementare keshtu qe , eshte pershkruar ne fillim komentimi i ushtrimit dhe kodi nuk eshte shume i komentuar (nuk ka ndonje nevoje) gjithsesi ne disa ushtrime eshte perdorur logjika “me pjeseza te vogla kodi behen programe te medha” keshtu qe ky kod nuk lejohet ABSOLUTISHT per asnje-lloj aktiviteti fitimprures apo per shitje te tij.
Keto mund te jene shembuj shume te mire studimi :)
Mund te shkarkoni :
SHKARKO

Nje sfide e vogel per programatore java – Ushtrim java

Pershendetje,

Kesaj radhe do te shohim nje teme e cila stimulon logjiken e programimit sepse duke vendosur limite atehere programatori detyrohet qe te bej nje hap perpara (cilesie) dhe detyrohet ne te njejtin moment ne koncept me te mire te algoritmeve.
Ky ushtrim eshte thjesht koncept, eshte sjelle nje shembull nga bota reale ku simulohet nje program i cili eshte pergjegjes per presionin (fryrjen e gomave ne dpi) te makinave te garave ne pit-stop.
Ushtrimi i pare, eshte shume i thjesht dhe mund ta shikoni ne linkun e meposhtem:
http://albanianwizard.org/Postokodin/40

Ky eshte shembulli , nderkohe qe sfida 😛 eshte te ndertohet nje ushtrim me kete kerkese.
Ja fillimi i zgjidhjes se ushtrimit.
NUK lejohet qe te perdoret while ne zgjidhjen e ushtrimit si dhe per variabilen boleane te perdoren me shume se 1 variabel.
Ja kerkesa
/*
http://albanianwizard.org
arditi*at*hush*pik*ai
Liçence GPLv3
——————————–
Zhvillimi i ushtrimit tek Pitstop.java
Kesaj here perveç kerkeses se ushtrimit te pare
duhet te kontrollojm qe gomat te jene dhe ne rrezen e duhur (midis 35 dhe 45).
Nese ndonjera nga gomat eshte jashte rrezes, printo nje mesazh per gabimin
por vazhdo duke koleksionuar te dhenat.
Perveç kesaj, krijoni nje (1 te vetme) variabel boleane “start” ku eshte ne pozicionin true
kur nuk ka gabime por kalon ne false kur presioni i gomave nuk eshte ne rrezen e duhur.
*/

import java.util.Scanner;
public class Pitstop1
{
public static void main (String[]args)
{
//Variabilat
int parad, param, mbrapad, mbrapam;
boolean start = true; //Na duhej nje variabel boleane :) [true ose false]
Scanner inPuti = new Scanner (System.in);
//Marrim te dhenat nga perdoruesi
…………………………………

Zgjidhja gjithsesi do te publikohet mbas 1 jave :)
Ne ndihme te atyre qe pranojn sfiden, ky ushtrim eshte i drejtuar me shume bazave te algoritmit dhe logjikes qe me nje rresht kodi mund te shprehesh nje mendim qe zgjidh ne teresi ushtrimin edhe pse ne perdorim eshte vetem 1 variabel boleane 😉

Deklarimi i nje metode me parameter ne OOP | Java

Ne kete teme do te trajtojm ne menyre sa me te thjeshte deklarimin e nje metode dhe shtimin e nje parametri te saj kur kemi te bejm me OOP aka Object oriented programming.
Ne kete shembull te thjesht po supozojm kete lloj situate..
Ne kemi krijuar nje platforme te madhe nga e cila perdoruesit duke shkruajtur emrin e sherbimit do te marrin akses ne sherbime te ndryshme..
Kjo ndodh per motive sigurie, psh krijimi i nje postoblloku te madh i cili eshte ure lidhese per te gjitha sherbimet e tjera si servera, hoste virtuale, sisteme operative, etj te gjitha keto ne web interface (supozohet te jete i egzekutueshem ne apache tomcat).
Pra ne fjale te tjera nje ure lidhese sigurie, qe kerkon login\username id etj per te kaluar me vone tek sistemi tjeter..
Normalisht kodi eshte i thjeshtuar ne maksimum dhe ben thjesht ne baze te nje parametri paraqitjen e nje “println” te thjesht me nje mesazh welcome..
Tani mund te japim nje veshtrim te shkurter se ç’fare quajm “metode” dhe “parameter” ne java.
Me metod nuk besoj se ka shume per te shkruajtur pasi dihet qe akoma me ne shqip eshte nje menyre, pra menyre se si ne bejm diçka te caktuar dhe ne java kemi metoda te percaktuara nga vet gjuha si psh public ne vetvete eshte nje metod thirrjeje qe thote se kodi ne vazhdim eshte i perdorshem nga te gjith, apo kemi metod headeri e keshtu me rradhe..
Veç ketyre kemi edhe metoda te cilat i krijojm ne.
Psh, ne krijojm nje metod se si duhet te veproj nje program ndaj nje reaksioni te caktuar te sistemit operativ, dhe normalisht programi ben ate per te cilen eshte programuar metod e cila po ashtu eshte e krijuar nga ne per nje funksion te caktuar, me gjere do e shohim me shembullin kur te paraqesim dhe kodin.
Po parametri?
Parametri eshte i lidhur ngusht me metoden.
Marrim nje shembull..
Dikush programon, dhe themi se “ai programon” dhe kjo eshte nje metod, por kur themi ai programon me eclipse ose me thjesht bash atehere ketu kemi te bejm me nje parameter, ose psh nje makine mund te eci me shpejtesi, ashtu siç mund te eci me ngadale.
Kujdes, mos ngaterroni parametrin me atributin.
Vazhdojm tani me programin tone te vogel.
Po fillojm me failin Parametri.java dhe ketu eshte edhe thelbi, panvarsisht se eshte shume i thjeshtuar
http://albanianwizard.org/Postokodin/24
Siç e shohim paraqitMesazhin ( String emriISistemit ) perben temen qe ne po trajtojm.
paraqitMesazhin eshte metoda, kurse per parameter po perdorim String ne kete rast dhe parametri eshte emriSistemit qe e kerkojm ne output tek pjesa vazhuese.
Vazhdojm tani me failin Objekti.java ne te cilin krijojm objektin dhe bejm pjesen me te punes.
http://albanianwizard.org/Postokodin/23

Ne kete pjese duket qarte qe mbasi krijojm objektin parametriIm perdorim String emriISistemit per te perdorur parametrin e deshiruar.
Failet duhet te jene ne te njejten direktori, per ti kompiluar japim  javac Parametri.java Objekti.java dhe per ti egzekutuar japim java Objekti
Nese ka pyetje…