ماڈیولو ڈویژن آپریٹر آپریٹر ہے
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