JavaRush /Блоги Java /Random-TG /Оператори тақсимоти модул
L2CCCP
Сатҳи

Оператори тақсимоти модул

Дар гурӯҳ нашр шудааст
Оператори тақсими модул операторест mod, ки бо аломати он ишора мешавад %. Оператори шӯъбаи модулҳо - 1Ин оператор боқимондаро ҳангоми тақсим кардани операнди аввал ба дуюм бармегардонад. Оператори mod" " %дар Java на танҳо бо ададҳои бутун (масалан: 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
Мо фаҳмидем, ки ин оператор чӣ гуна кор мекунад, аммо чӣ тавр истифода бурдани он. Ҳамчун вариант барои ворид кардани калимаҳо вобаста ба миқдор. Азбаски ман ҳамчун таҳиягари эмулятори бозии java кор мекунам, барои ман хеле муҳим аст, ки калимаҳои зиёде дар паёмҳо фишурда шаванд. Масалан:
  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);
Ин ҳама, ман умедворам, ки ин барои касе муфид хоҳад буд. Муваффақият дар азхудкунии забони Java.
Шарҳҳо
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION