om de vierkantswortel van een getal te vinden , moet je de inverse bewerking van een aantal op zich te vermenigvuldigen vinden . Terwijl de Java-programmeertaal bevat een ingebouwde " Math.sqrt ( ) " functie om de vierkantswortel van een getal te berekenen , het accepteert alleen een floating - point dubbele waarde datatype . Echter , kan je jezelf hoeft te de vierkantswortel van een getal in een ander gegevenstype vinden . Voor dit doel , kunt u een aangepaste functie te bouwen om de vierkantswortel waarde handmatig berekenen . Instructies 1 Definieer een methode om de vierkantswortel te berekenen . U moet de methode geeft een beschrijvende naam die zijn functie weerspiegelt . Ervoor zorgen dat alle noodzakelijke elementen van een methode zijn aanwezig , namelijk de return type , naam , bijvoeging haakjes voor methode argumenten en het lichaam verklaring bretels . Bijvoorbeeld , een geschikte methode om de vierkantswortel van een getal te krijgen is : openbare BigDecimal get ( BigDecimal n ) { } Compleet het lichaam code van de methode door het schrijven van 2 een algoritme om de onderlinge aanpassing van de vierkantswortel van een getal . U kan de Newton iteratie methode gebruiken om de wiskundige basis van de berekening te vormen . Bij deze methode kunt u de vierkantswortel van een getal door herhaaldelijk het oplossen van de steeds terugkerende vergelijking xk + 1 = 1/2 ( x k + n /xk ) totdat de onderlinge waarde komt dicht bij de werkelijke vierkantswortel waarde . Bijvoorbeeld , de volgende code is een segment in Java dat deze berekening uitvoert : iteraties = 0 ; boolean = true meer ; while ( meer ) { < br lastGuess > = denk ; denk = n.divide ( gok , schaal , BigDecimal.ROUND_HALF_UP ) ; denk = guess.add ( lastGuess ) ; denk = guess.divide ( TWO , schaal , BigDecimal.ROUND_HALF_UP ) ; trace ( " Next guess " + guess.toString ( ) ) ; fout = n.subtract ( guess.multiply ( gok) ) ; if ( + + iteraties > = maxIterations ) { meer = false; } else if ( lastGuess. equals ( gok) ) { meer = error.abs ( ) compareTo ( ONE ) > = 0 ; . } } terugkeer gissing ; 3 Definieer andere ondersteunende methoden om de belangrijkste vierkantswortel bevinding methode , wanneer dat nodig is . U kunt vinden dat je nodig om methoden te definiëren aan de eerste schatting waarde vinden , berekenen fout en bepaald aantal iteraties . Bijvoorbeeld , de volgende code vindt de eerste schatting waarde te worden gebruikt in de belangrijkste berekening : private static BigDecimal getInitialApproximation ( BigDecimal n ) { BigInteger integerPart = n.toBigInteger ( ) ; < . br int lengte > = integerPart.toString ( ) lengte ( ) ; if ( ( lengte % 2 ) == 0 ) { lengte - ; } lengte Twitter /= 2 ; BigDecimal gok = ONE.movePointRight ( lengte ) ; return gok ; } < br > 4 Test uw vierkantswortel methode door te bellen naar het en het afdrukken van het resultaat op het scherm. Bijvoorbeeld : System.out.println ( " Het berekenen van de vierkantswortel van " ) ; sqrt = app.get ( n ) ; < br >
|