Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Java

Πώς να κάνω μια πλατεία Λειτουργία Root σε Java

Για να βρείτε την τετραγωνική ρίζα ενός αριθμού , θα πρέπει να βρείτε την αντίστροφη λειτουργία του πολλαπλασιασμού μια σειρά από μόνη της. Ενώ η γλώσσα προγραμματισμού Java παρέχει μια ενσωματωμένη " Math.sqrt ( ) " λειτουργία για να υπολογίσει την τετραγωνική ρίζα οποιουδήποτε αριθμού , δέχεται μόνο ένα floating-point διπλή αξία τύπο δεδομένων . Ωστόσο , μπορείτε να βρείτε τον εαυτό σας να χρειάζεται να βρείτε την τετραγωνική ρίζα ενός αριθμού σε ένα διαφορετικό τύπο δεδομένων . Για το σκοπό αυτό , μπορείτε να δημιουργήσετε μια προσαρμοσμένη συνάρτηση για να υπολογίσει την τετραγωνική ρίζα αξία με το χέρι . Οδηγίες
Η 1

Ορίστε μια μέθοδο για τον υπολογισμό της τετραγωνικής ρίζας . Θα πρέπει να δώσετε την μέθοδο ένα περιγραφικό όνομα που αντικατοπτρίζει τη λειτουργία του . Βεβαιωθείτε ότι υπάρχουν όλα τα απαραίτητα στοιχεία μιας μεθόδου , ​​δηλαδή της επιστροφής τύπο , το όνομα , επισυνάπτοντας παρενθέσεις για τη μέθοδο επιχειρήματα και η δήλωση του σώματος σε αγκύλες . Για παράδειγμα , μια κατάλληλη μέθοδος για να πάρετε την τετραγωνική ρίζα ενός αριθμού είναι :

δημόσια BigDecimal πάρει ( BigDecimal n ) { } 2

Συμπληρώστε τον κωδικό σώμα της μεθόδου με το γράψιμο ένας αλγόριθμος για τον υπολογισμό του προσέγγιση της τετραγωνικής ρίζας ενός αριθμού. Μπορείτε να χρησιμοποιήσετε Επανάληψη μέθοδο του Νεύτωνα για να σχηματίσουν τη μαθηματική βάση για τον υπολογισμό σας . Σε αυτή τη μέθοδο , μπορείτε να υπολογίσετε την τετραγωνική ρίζα ενός αριθμού κατ 'επανάληψη την επίλυση των επαναλαμβανόμενων xk εξίσωση + 1 = 1/2 ( xk + n /xk ) έως ότου η τιμή προσέγγιση έρχεται κοντά στην πραγματική τιμή τετραγωνικής ρίζας . Για παράδειγμα , η ακόλουθη είναι ένα τμήμα κώδικα σε Java που εκτελεί αυτόν τον υπολογισμό :

επαναλήψεις = 0 ?

Boolean περισσότερο = true ?

Ενώ ( περισσότερα ) {

lastGuess = εικασία ?

μαντέψει = n.divide ( εικασία , την κλίμακα , BigDecimal.ROUND_HALF_UP ) ?

μαντέψει = guess.add ( lastGuess ) ?

υποθέτω = guess.divide ( ΔΥΟ , κλίμακα , BigDecimal.ROUND_HALF_UP ) ?

ιχνοστοιχεία ( "Next εικασία " + guess.toString ( ) ) ?

σφάλμα = n.subtract ( guess.multiply ( εκτίμηση) ) ?

αν ( + + επαναλήψεις > = maxIterations ) {

περισσότερα = false ? }


else if ( lastGuess. ισούται με ( υποθέτω) ) {

περισσότερα error.abs = ( ) compareTo ( ONE ) > = 0 ? .

} }


επιστροφή να μαντέψω?
εικόνων 3

Καθορίστε τις υπόλοιπες μεθόδους που υποστηρίζουν την κύρια μέθοδο εύρημα τετραγωνική ρίζα , όποτε είναι αναγκαίο. Μπορείτε να βρείτε τον εαυτό σας να χρειάζεται να καθορίσει μεθόδους για να βρει την αρχική αξία προσέγγιση , υπολογίζουν λάθος και ορίστε τον αριθμό των επαναλήψεων . Για παράδειγμα , ο παρακάτω κώδικας βρίσκει η αρχική τιμή προσέγγιση που πρέπει να χρησιμοποιούνται στην κύρια υπολογισμό :

ιδιωτική στατική BigDecimal getInitialApproximation ( BigDecimal n ) {

BigInteger integerPart = n.toBigInteger ( ) ?

int μήκος = integerPart.toString ( ) μήκος ( ) ?

αν ( ( μήκος 2 % ) == 0 ) {

μήκος - ? .

}

μήκος /2 = ?

BigDecimal μαντέψει = ONE.movePointRight ( μήκος) ?

επιστρέψει εικασία ?

}

4

Δοκιμάστε τετραγωνική ρίζα μέθοδο καλώντας την εκτύπωση και το αποτέλεσμα στην οθόνη . Για παράδειγμα :

System.out.println ( " Ο υπολογισμός της τετραγωνικής ρίζας του ")?

Sqrt = app.get (n ) ?
Εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα