modModul bölüniş operatory , nyşan bilen görkezilen operatordyr %. Bu operator birinji operand ikinjä bölünende galan bölegini yzyna gaýtaryp berýär. modJava-daky " " operator %diňe bir bitewi san ýaly däl byte/int/short/long, eýsem ýüzýän nokat (meselem float/double:) sanlar \ görnüşleri bilen hem işleýär. Aşakdaky programma bu sözlemiň nähili işleýändigini görkezýär:
packagecom.l2cccp.work;publicclassMod{publicstaticvoidmain(String args[]){int i =17;// Integersdouble d =17.3;// floating pointSystem.out.println("i mod 10 = "+ i %10);System.out.println("d mod 10 = "+ d %10);}}
Bu programmany işletmek bilen aşakdaky netijäni alarsyňyz:
i mod 10=7
d mod 10=7.300000000000001
Bu operatoryň nähili işleýändigini, ýöne nädip ulanmalydygyny bildik. Sözlere baglylykda sözleri üýtgetmek üçin bir wariant hökmünde. Java oýun emulýatoryny dörediji hökmünde işleýänim üçin, habarlardaky köp sözleriň täsir etmegi meniň üçin gaty möhümdir. Mysal üçin:
Siz eýýäm 1 gün bäri oýnaýarsyňyz .
Siz eýýäm 2 gün bäri oýnaýarsyňyz .
Siz eýýäm 5 gün bäri oýnaýarsyňyz .
Pese gaçmak programmasyny ýazalyň:
packagecom.l2cccp.work;publicclassMod{publicstaticvoidmain(String args[]){int[] day=newint[]{1,2,5};System.out.println("You're already playing"+ day[0]+" "+declension(day[0]));System.out.println("You're already playing"+ day[1]+" "+declension(day[1]));System.out.println("You're already playing"+ day[2]+" "+declension(day[2]));}publicstaticStringdeclension(int count){String one ="day";String two ="of the day";String five ="days";if(count >100)
count %=100;if(count >20)
count %=10;switch(count){case1:return one;case2:case3:case4:return two;default:return five;}}}
Bu programmany işletmek bilen aşakdaky netijäni alarsyňyz:
Вы играете уже 1 день
Вы играете уже 2 дня
Вы играете уже 5 дней
Hemme zat zerur bolşy ýaly işleýär, ýöne bir netijede birnäçe pese gaçmak zerur bolsa näme etmeli? Mysal üçin:
1 gün 1 sagat oýnadyňyz .
2 gün 4 sagat oýnadyňyz .
5 gün 9 sagat oýnadyňyz .
Gerekli her söz üçin goşmaça peselme usulyny ýazyp bilmeris. Geliň, şular ýaly pese gaçmak programmasyny ýazalyň:
packagecom.l2cccp.work;publicclassMod{publicstaticvoidmain(String args[]){int[] day =newint[]{1,2,5};int[] hour =newint[]{1,4,9};System.out.println("You're already playing"+ day[0]+" "+declension(day[0],"Days")+" And "+ hour[0]+" "+declension(hour[0],"Hour"));System.out.println("You're already playing"+ day[1]+" "+declension(day[1],"Days")+" And "+ hour[1]+" "+declension(hour[1],"Hour"));System.out.println("You're already playing"+ day[2]+" "+declension(day[2],"Days")+" And "+ hour[2]+" "+declension(hour[2],"Hour"));}publicstaticStringdeclension(int count,String type){String one ="";String two ="";String five ="";if(type.equals("Days")){
one ="day";
two ="of the day";
five ="days";}elseif(type.equals("Hour")){
one ="hour";
two ="hours";
five ="hours";}if(count >100)
count %=100;if(count >20)
count %=10;switch(count){case1:return one;case2:case3:case4:return two;default:return five;}}}
Bu programmany işletmek bilen aşakdaky netijäni alarsyňyz:
Вы играете уже 1 день и 1 час
Вы играете уже 2 дня и 4 часа
Вы играете уже 5 дней и 9 часов
Usulymyz köpçülige " public" hökmünde häsiýetlendirilýändigi sebäpli, islendik paketden aňsatlyk bilen jaň edip bilersiňiz:
Mod.declension(count, type);
Bularyň hemmesi, munuň kimdir biri üçin peýdaly boljakdygyna umyt edýärin. Java dilini özleşdirmekde üstünlik arzuw edýärin.
GO TO FULL VERSION