JavaRush /Java Blog /Random-TK /Modulo bölüminiň operatory
L2CCCP
Dereje

Modulo bölüminiň operatory

Toparda çap edildi
modModul bölüniş operatory , nyşan bilen görkezilen operatordyr %. Modulo bölüniş operatory - 1Bu 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:
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);
	}
}
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:
  1. Siz eýýäm 1 gün bäri oýnaýarsyňyz .
  2. Siz eýýäm 2 gün bäri oýnaýarsyňyz .
  3. Siz eýýäm 5 gün bäri oýnaýarsyňyz .
Pese gaçmak programmasyny ýazalyň:
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;
		}
	}
}
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. 1 gün 1 sagat oýnadyňyz .
  2. 2 gün 4 sagat oýnadyňyz .
  3. 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ň:
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;
		}
	}
}
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.
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION