ماڊل ڊويزن آپريٽر آپريٽر آهي
mod
، جنهن کي علامت سان ظاهر ڪيو ويو آهي %
. هي آپريٽر باقي واپس ڏئي ٿو جڏهن پهرين آپرينڊ کي سيڪنڊ سان ورهايو ويندو آهي. mod
جاوا ۾ " " آپريٽر %
ڪم ڪري ٿو نه رڳو انٽيجر سان (جهڙوڪ: byte/int/short/long
)، پر ان سان گڏ سچل پوائنٽ (جهڙوڪ: float/double
) انگن جي قسمن سان. هيٺ ڏنل پروگرام بيان ڪري ٿو ته هي بيان ڪيئن ڪم ڪري ٿو:
package com.l2cccp.work;
public class Mod
{
public static void main(String args[])
{
int i = 17; // Integers
double d = 17.3; // floating point
System.out.println("i mod 10 = " + i % 10);
System.out.println("d mod 10 = " + d % 10);
}
}
ھن پروگرام کي هلائڻ سان توھان ھيٺ ڏنل نتيجا حاصل ڪندا:
i mod 10 = 7
d mod 10 = 7.300000000000001
اسان اهو معلوم ڪيو ته هي آپريٽر ڪيئن ڪم ڪري ٿو، پر ان کي ڪيئن استعمال ڪجي. مقدار جي لحاظ کان لفظن کي ڦهلائڻ لاء هڪ اختيار جي طور تي. جيئن ته مان جاوا گيم ايموليٽر جي ڊولپر جي طور تي ڪم ڪريان ٿو، ان ڪري مون لاءِ اهو تمام ضروري آهي ته پيغامن ۾ گھڻا لفظ متاثر ٿين ٿا. مثال:
- توهان اڳ ۾ ئي 1 ڏينهن کان راند ڪري رهيا آهيو .
- توھان 2 ڏينھن کان راند ڪري رھيا آھيو .
- توھان 5 ڏينھن کان راند ڪري رھيا آھيو .
package com.l2cccp.work;
public class Mod
{
public static void main(String args[])
{
int[] day= new int[] { 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]));
}
public static String declension(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)
{
case 1:
return one;
case 2:
case 3:
case 4:
return two;
default:
return five;
}
}
}
ھن پروگرام کي هلائڻ سان توھان ھيٺ ڏنل نتيجا حاصل ڪندا:
Вы играете уже 1 день
Вы играете уже 2 дня
Вы играете уже 5 дней
هر شي ڪم ڪري ٿي جيئن اسان کي ضرورت آهي، پر ڇا جيڪڏهن اسان کي هڪ نتيجي ۾ ڪيترن ئي گهٽتائي حاصل ڪرڻ جي ضرورت آهي؟ مثال:
- توهان 1 ڏينهن ۽ 1 ڪلاڪ لاءِ کيڏي رهيا آهيو .
- توهان 2 ڏينهن ۽ 4 ڪلاڪ کيڏي رهيا آهيو .
- توهان 5 ڏينهن 9 ڪلاڪ کيڏي رهيا آهيو .
package com.l2cccp.work;
public class Mod
{
public static void main(String args[])
{
int[] day = new int[] { 1, 2, 5 };
int[] hour = new int[] { 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"));
}
public static String declension(int count, String type)
{
String one = "";
String two = "";
String five = "";
if(type.equals("Days"))
{
one = "day";
two = "of the day";
five = "days";
}
else if(type.equals("Hour"))
{
one = "hour";
two = "hours";
five = "hours";
}
if(count > 100)
count %= 100;
if(count > 20)
count %= 10;
switch(count)
{
case 1:
return one;
case 2:
case 3:
case 4:
return two;
default:
return five;
}
}
}
ھن پروگرام کي هلائڻ سان توھان ھيٺ ڏنل نتيجا حاصل ڪندا:
Вы играете уже 1 день и 1 час
Вы играете уже 2 дня и 4 часа
Вы играете уже 5 дней и 9 часов
جيئن ته اسان جو طريقو عوامي طور تي بيان ڪيو ويو آهي " public
"، توهان آساني سان ان کي ڪنهن به پيڪيج مان سڏي سگهو ٿا:
Mod.declension(count, type);
اهو سڀ ڪجهه آهي، مون کي اميد آهي ته هي ڪنهن لاء مفيد ٿيندو. جاوا ٻولي ۾ مهارت حاصل ڪرڻ ۾ سٺي قسمت.
GO TO FULL VERSION