JavaRush /جاوا بلاگ /Random-UR /ماڈیولو ڈویژن آپریٹر
L2CCCP
سطح

ماڈیولو ڈویژن آپریٹر

گروپ میں شائع ہوا۔
ماڈیولو ڈویژن آپریٹر آپریٹر ہے mod، علامت سے ظاہر ہوتا ہے %۔ ماڈیولو ڈویژن آپریٹر - 1یہ آپریٹر بقیہ کو واپس کرتا ہے جب پہلا آپرینڈ دوسرے سے تقسیم ہوتا ہے۔ 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. آپ پہلے ہی 1 دن سے کھیل رہے ہیں ۔
  2. آپ 2 دن سے کھیل رہے ہیں ۔
  3. آپ 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 دن اور 1 گھنٹے سے کھیل رہے ہیں ۔
  2. آپ 2 دن اور 4 گھنٹے سے کھیل رہے ہیں ۔
  3. آپ 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);
بس، مجھے امید ہے کہ یہ کسی کے لیے کارآمد ثابت ہوگا۔ جاوا زبان میں مہارت حاصل کرنے میں اچھی قسمت۔
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION