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

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

Πώς να δημιουργήσετε ένα υπολογιστικό φύλλο Java Δομές Δεδομένων

Στο απλούστερο επίπεδο , μπορείτε να δημιουργήσετε μια δομή δεδομένων για ένα υπολογιστικό φύλλο σε Java χρησιμοποιώντας μια απλή 2D array . Ωστόσο , η προσέγγιση αυτή αφήνει πολλά που πρέπει να γίνουν . Στην ιδανική περίπτωση , μια δομή δεδομένων φύλλο θα πρέπει να είναι σε θέση να αλλάξετε το μέγεθος αποτελεσματικά , εισάγετε και να διαγράψετε ολόκληρες γραμμές και στήλες , και οι πράξεις αυτές είναι υπολογιστικά ακριβά σε μια σειρά Java , απαιτεί Java για την ανοικοδόμηση το σύνολο της δομής των δεδομένων από το μηδέν πίσω από τις σκηνές κάθε φορά που μια τέτοια λειτουργία είναι performed.Instead , θα πρέπει να χρησιμοποιήσετε κάτι λίγο πιο περίπλοκο : ένα συνδεδεμένη λίστα συνδεδεμένες λίστες . Αυτό θα επιτρέψει την εισαγωγή και την αφαίρεση των γραμμών και στηλών καθώς και η αλλαγή μεγέθους του πίνακα για να συμβεί πολύ πιο γρήγορα. Ωστόσο , θα έρθει με ένα μικρό κόστος σε απόδοση όταν έρχεται η ώρα να αποκτήσετε πρόσβαση σε συγκεκριμένα κελιά του υπολογιστικού φύλλου από τη σειρά . Οδηγίες
Η

1 Δημιουργήστε ένα νέο αρχείο Java και ονομάστε το " SpreadsheetStructure.java . " Εάν έχετε ένα αγαπημένο Integrated Development Environment ( IDE ) , μπορείτε να το κάνετε αυτό κάνοντας κλικ στο " Αρχείο ", " Νέα Τάξη ". Εναλλακτικά , μπορείτε να ανοίξετε το Windows Notepad κάνοντας κλικ στο " Έναρξη", " Όλα τα προγράμματα ", " εξαρτήματα ", " Σημειωματάριο" και αποθηκεύοντας το αρχείο με αυτό το όνομα αρχείου . 2

Δημιουργήστε τις διασυνδέσεις της κατηγορίας σας με την επικόλληση τα ακόλουθα στο αρχείο που δημιουργήσατε στο Βήμα 1 . Η υπόλοιπα βήματα θα είναι αφιερωμένο στην συμπλήρωση του κώδικα για κάθε μία από τις μεθόδους που ορίζονται σε αυτό το στάδιο :

δημόσια τάξη υπολογιστικών φύλλων {

LinkedList δεδομένων = νέα LinkedList ( ) ?

δημόσια υπολογιστικού φύλλου ( ) { }

public void addRow ( ) { }

public void addRow (δείκτης int ) { }

δημόσιο void removeRow (δείκτης int ) { }

removeColumn δημόσια άκυρη ( int index ) { }

public void addColumn ( ) { }

public void addColumn (δείκτης int) { }

δημόσια άκυρη setCell ( int x , int y , String newData ) { }

public int getWidth ( ) { }

public int getHeight ( ) { }

δημόσια toString String ( ) { }

/**

* Ελέγξτε την τάξη , πώληση

* /

δημόσια στατική άκυρη κύρια ( String [ ] args ) { } }


Η βασική δομή δεδομένων θα είναι ένα LinkedList των σειρών που περιέχουν μία LinkedList των στηλών . Αν και ένα απλό 2D array θα ήταν απλούστερο να εφαρμοστεί , θα ήταν επίσης πολύ πιο αργή για πολλούς πράξεις κοινής φύλλο , ειδικά την εισαγωγή και διαγραφή γραμμών .
Εικόνων 3

Επικολλήστε τον ακόλουθο κώδικα μεταξύ των βραχιόνων του η μέθοδος κατασκευαστή , " φύλλο" :

δημόσια υπολογιστικού φύλλου ( ) {

addRow ( ) ?

addColumn ( ) ? }


Αυτό εξασφαλίζει απλώς ότι έχουμε ξεκινήσει με τουλάχιστον μία μόνο γραμμή και στήλη .
Η 4

Επικολλήστε τον ακόλουθο να συμπληρώσετε τις δύο μεθόδους addRow . Κάποιος δεν παίρνει επιχειρήματα και προσθέτει αυτόματα τη γραμμή στο τέλος του λογιστικού φύλλου , ενώ η άλλη επιτρέπει στο χρήστη να καθορίσει πού να προσθέσετε τη γραμμή :

public void addRow ( ) {

δεδομένων. addLast ( νέα LinkedList ( ) ) ?

για ( int x = 0 ? x

data.getLast ( ) προσθέστε ( new String ( ) ) ?

} }


δημόσια άκυρη addRow (δείκτης int ) {

data.add ( δείκτης , νέα LinkedList ( ) ) ?

για ( int x = 0 ? x

data.get ( index ), προσθέστε ( new String ())? .

} }


5

Επικολλήστε τον κώδικα για να καταργήσετε μια γραμμή στο αρχείο προέλευσης :

removeRow δημόσια άκυρη ( int index ) {

data.remove ( index ) ?

}
Η 6

Επικολλήστε τον κώδικα για τις δύο μεθόδους addColumn . Αυτά λειτουργούν παρόμοια με τις μεθόδους addRow - υπάρχουν δύο , ένας για την προσθήκη μιας στήλης προς το τέλος του φύλλου και μία για την εισαγωγή μιας στήλης στη μέση :

δημόσια άκυρη addColumn () {

για ( LinkedList l : τα δεδομένα ) {

l.addLast ( new String ( ) ) ?

} }


public void addColumn ( δείκτη int ) {

για ( LinkedList l : τα δεδομένα ) {

l.add ( δείκτης , new String ( ) ) ?

}

}
Η 7

Επικολλήστε τον κώδικα για την κατάργηση στηλών :

removeColumn δημόσια άκυρη ( int index ) {

για ( LinkedList l : τα δεδομένα ) {

l.remove ( index ) ?

} }


8

Επικολλήστε τον κώδικα που καθορίζει το περιεχόμενο ενός συγκεκριμένου κυττάρου σε μια σειρά δεδομένων :

δημόσια άκυρη setCell ( int x , int y , String newData ) {

data.get ( x ) σετ ( y , newData )? .

}

9

Συμπληρώστε τις μεθόδους για να πάρει το πλάτος και το ύψος του λογιστικού φύλλου :

public int getWidth ( ) {

επιστρέψει data.getFirst ( ) size () ? <. br >

}

public int getHeight ( ) {

επιστρέψει data.size ( ) ? }


Η 10

Εφαρμογή της μέθοδος toString . Αυτό θα επιστρέψει ένα μορφοποιημένο string εμφάνιση , σε έναν πίνακα γραμμών και στηλών , τα δεδομένα στο υπολογιστικό φύλλο :

δημόσια toString String ( ) {

String temp = " " ?

για ( LinkedList l : τα δεδομένα ) {

για (Object o: l ) {

String s = ( String ) o ?

αν ( s.equals ( " " ) ) s = " - άδεια "?

temp + = s + " " ?

}

temp + = " \\ n" ?

}

temp επιστροφή? }


Η 11

Επικολλήστε τον ακόλουθο κύρια μέθοδος που βάζει τη δομή των δεδομένων υπολογιστικών φύλλων μέσω των ρυθμών του και εξασφαλίζει ότι όλα λειτουργούν όπως αναμένεται :

δημόσια στατική άκυρη κύρια ( String [ ] args ) {

φύλλο Spreadsheet = νέα x x " TEMP " ) ?

Sheet.setCell ( 1,1 ,

εικόνων

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

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