CodeGym /Java-blogg /Tilfeldig /Heltallsdivisjon Java
John Squirrels
Nivå
San Francisco

Heltallsdivisjon Java

Publisert i gruppen

Hva er heltallsdivisjon i Java?

Divisjon i Java foregår normalt som vanlig divisjon i matematikk eller det virkelige liv. Imidlertid forkaster den bare resten. For eksempel, hvis du deler 9 med 2, er kvotienten 4 og resten er 1. Heltallsdivisjon Java - 1I det virkelige liv er svaret 4,5 eller 4½. Hvis du utfører samme beregning med int i Java, vil svaret ditt være 4. Det er ikke avrundet til nærmeste heltall (som ~4.5 = 5) 1 da en rest blir kastet.

Eksempel 1 [Resten er 0]

Heltallsdivisjonen i Java fungerer perfekt for alle tilfellene der divisor deler utbyttet fullstendig ( heltall delt på x heltall). Svaret er et helt tall og heltallsdatatypen kan inneholde det uten overløp. Derfor er det ingen tap av data. Ta for eksempel en titt på følgende utdrag.

public class IntegerDivision {

	public static void main(String[] args) {
		
		int dividend = 100;
		int divisor = 5;
		int quotient = dividend / divisor;
		
		//Dividend completely divides the divisor
		System.out.println(dividend + " / " + divisor + " = " + quotient);
			
		dividend = 143;
		divisor = 11;
		quotient = dividend / divisor;
		
		//Dividend completely divides the divisor
		System.out.println(dividend + " / " + divisor + " = " + quotient);
	}
}
Produksjon
100 / 5 = 20 143 / 11 = 13

Eksempel 2 [Resten er ikke 0]

For alle delingstilfellene der resten ikke er 0, vil det endelige resultatet bli kuttet av til det største delbare heltall (9/2 = 4). Dette vil bli vist i det kommende eksemplet. Det kan være tider når du trenger den faktiske kvotienten i desimal. I så fall kan du bruke flytende eller dobbel datatype. Men hvis du ønsker å runde av kvotienten til nærmeste int kan du gjøre følgende.

public class IntegerDivision {

	public static void main(String[] args) {

		int dividend = 9;
		int divisor = 2;
		int quotient = dividend / divisor;
		
		// Case I - Dividend does not divide the divisor completely
		// The quotient is chopped / truncated
		System.out.print("Integer division \t\t" );
		System.out.println(dividend + " / " + divisor + " = " + quotient);
		
		// Case II - Mathematical or real life division
		// Use float or double data type to get the actual quotient 
		
		double actualQuotient = (double)dividend / divisor;
		System.out.print("Mathematics division \t\t" );
		System.out.println((double)dividend + " / " + divisor + " = " + actualQuotient);
		
		// Case III - Integer Division with rounding off 
		// the quotient to the closest integer
		
		long roundedQuotient = Math.round((double)dividend / divisor);
		System.out.print("Round off int division \t\t" );
		System.out.println((double)dividend + " / " + divisor + " = " + roundedQuotient);

	}
}
Produksjon
Heltallsdivisjon 9 / 2 = 4 Matematikk divisjon 9,0 / 2 = 4,5 Avrund int divisjon 9,0 / 2 = 5

Forklaring

Case I og Case II er selvforklarende. For Case III kan du bryte den ned i følgende trinn.
  • Først må du konvertere utbyttet til en dobbel.

  • Utfør den vanlige Java int-divisjonen.

  • Rund av kvotienten ved å bruke Math.round()- metoden.

  • Bruk lang datatype for å lagre den avrundede kvotienten.

  • Der går du! Du har ønsket utgang som kvotient.

Konklusjon

Divisjon med Java-heltall kan se vanskelig ut i begynnelsen. Men med litt øvelse og repetisjon kan du få tak i det. Øv så mye du kan. Kom gjerne tilbake til innlegget vårt når som helst du har lyst. Jubel! For å forsterke det du lærte, foreslår vi at du ser en videoleksjon fra vårt Java-kurs
Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION