Nyckelord: Datatyp, Variabel, Deklarera, Modulus
Matematiska beräkningar i Java: modulus
I denna uppgift ska vi testa att utföra beräkningar med modulus. Modulus är "resten" av en division när ett tal har blivit dividerat med ett annat. I Java, anger man modulusoperatorn med ett procenttecken (%).
I följande uppgift utgår vi från följande variabler:
int a = 2;
int b = 6;
int c = 7;
Utgå sedan från programmet:
public class DatatyperUppgift4 {
public static void main(String[] args) {
int a = 2;
int b = 6;
int c = 7;
}
}
Utför modulus mellan två tal i Java
- Börja med att utföra och skriva ut beräkningen c modulus a. Vad blir utskriften?
- Fortsätt sedan att utföra och skriva ut beräkningen b modulus a. Vad blir utskriften?
- Avslutningsvis, utför beräkningen c modulus c. Vad blir utskriften?
Jämnt eller udda tal med modulus
4. Hur kan man med modulus avgöra om ett heltal är jämnt eller udda?
Ledtråd
I Java, använder man operatorn modulus med ett procenttecken (%). Exempelvis är 11%3 = 2 eftersom 11/3 = 3 med resten 2.
Lösning
Svar:
public class DatatyperUppgift4 {
public static void main(String[] args) {
int a = 2;
int b = 6;
int c = 7;
System.out.println(c % a);
System.out.println(b % a);
System.out.println(c % c);
}
}
Utskriften blir:
1
0
0
Förklaring:
Modulus beräknar ut resten av en division. I Java anger man operatorn modulus med ett procenttecken.
Man kan enkelt avgöra om ett tal är udda eller jämnt genom att utnyttja modulus-operatorn:
int remainder = heltal % 2;
Om tal % 2 == 0 är talet jämnt. Om resten är skild från noll är talet udda. För negativa udda tal är resten i Java −1, inte 1.
System.out.println(0 % 2);
System.out.println(1 % 2);
System.out.println(2 % 2);
System.out.println(3 % 2);
System.out.println(4 % 2);
System.out.println(5 % 2);
System.out.println(6 % 2);
System.out.println(7 % 2);
System.out.println(8 % 2);
System.out.println(9 % 2);
System.out.println(10 % 2);
vilket ger utskriften:
0
1
0
1
0
1
0
1
0
1
0