Ang operator ng modulo division ay ang operator
mod
, na tinutukoy ng simbolo %
. Ibinabalik ng operator na ito ang natitira kapag ang unang operand ay hinati sa pangalawa. mod
Ang " " operator %
sa Java ay gumagana hindi lamang sa integer (tulad ng: byte/int/short/long
), kundi pati na rin sa floating point (tulad ng: float/double
) na mga numero\uri. Ang programa sa ibaba ay naglalarawan kung paano gumagana ang pahayag na ito:
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);
}
}
Sa pamamagitan ng pagpapatakbo ng program na ito makukuha mo ang sumusunod na resulta:
i mod 10 = 7
d mod 10 = 7.300000000000001
Nalaman namin kung paano gumagana ang operator na ito, ngunit kung paano ito gamitin. Bilang isang opsyon para sa pagpapalit ng mga salita depende sa dami. Dahil nagtatrabaho ako bilang developer ng isang java game emulator, napakahalaga para sa akin na maraming salita sa mga mensahe ang nababago. Hal:
- 1 araw ka nang naglalaro .
- 2 araw ka nang naglalaro .
- 5 araw ka nang naglalaro .
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;
}
}
}
Sa pamamagitan ng pagpapatakbo ng program na ito makukuha mo ang sumusunod na resulta:
Вы играете уже 1 день
Вы играете уже 2 дня
Вы играете уже 5 дней
Gumagana ang lahat ayon sa kailangan natin, ngunit paano kung kailangan nating makakuha ng ilang mga pagtanggi sa isang resulta? Hal:
- 1 araw at 1 oras ka nang naglalaro .
- 2 araw at 4 na oras ka nang naglalaro .
- Naglalaro ka ng 5 araw 9 na oras .
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;
}
}
}
Sa pamamagitan ng pagpapatakbo ng program na ito makukuha mo ang sumusunod na resulta:
Вы играете уже 1 день и 1 час
Вы играете уже 2 дня и 4 часа
Вы играете уже 5 дней и 9 часов
Dahil ang aming pamamaraan ay inilarawan bilang isang pampublikong " public
", madali mo itong matatawag mula sa anumang pakete:
Mod.declension(count, type);
Iyon lang, umaasa ako na ito ay magiging kapaki-pakinabang sa isang tao. Good luck sa mastering ang Java language.
GO TO FULL VERSION