Προγράμματα μοτίβων σε JavaΕκτύπωση Αστέρα, Πυραμίδας & Αριθμού
⚡ Έξυπνη Σύνοψη
Προγράμματα μοτίβων σε Java Εκτυπώστε αστέρια, αριθμούς ή γράμματα σε σταθερό σχήμα και το καθένα από αυτά είναι κατασκευασμένο από ένθετους βρόχους όπου ο εξωτερικός βρόχος μετράει γραμμές και οι εσωτερικοί βρόχοι τοποθετούν κενά και χαρακτήρες.
Τα προγράμματα εκτύπωσης μοτίβων είναι σχέδια ή σύμβολα που περιλαμβάνουν γράμματα ή άλλους χαρακτήρες σε συγκεκριμένη μορφή. Java Η κωδικοποίηση μοτίβων αυξάνει τη λογική οικοδόμηση των προγραμματιστών που τους βοηθά να γίνουν καλοί προγραμματιστές.
Κάθε παράδειγμα εδώ χρειάζεται μόνο ένθετους βρόχους και βασικά Java σύνταξη.
Κατηγορίες μοτίβων
Μπορούμε να σχεδιάσουμε αμέτρητα μοτίβα Java, και όλα τα μοτίβα μπορούν να εκτελεστούν με τρεις διαφορετικούς τρόπους.
Υπάρχουν τρεις κύριες κατηγορίες που χρησιμοποιούνται για την αναγνώριση Java προγράμματα μοτίβων.
- Μοτίβο αστεριών: In Java προγράμματα με αστέρια, τα μοτίβα αστεριών είναι μια σειρά από αστερίσκοι (*) χρησιμοποιείται για τη δημιουργία διαφορετικών σχημάτων όπως ένα πρόγραμμα μοτίβου αστεριού πυραμίδας, σφιχτού τριγώνου, αριστερού τριγώνου, σχήματος διαμαντιού, τετραγώνου και πολλών άλλων σχεδίων. Java.
- Αριθμητικό μοτίβο: Για την εξάσκηση σε δηλώσεις ελέγχου ροής, ένας άλλος τύπος μοτίβου είναι τα προγράμματα αριθμητικών μοτίβων σε JavaΤα προγράμματα αριθμητικών μοτίβων αποτελούνται από αριθμούς/μέτρηση. Συνήθως ορίζουμε την τιμή του 'i', η οποία είναι ένας επαναλήπτης βρόχου για τη δημιουργία αριθμών στον προγραμματισμό μοτίβων. Ο ελάχιστος αριθμός βρόχων για το αριθμητικό μοτίβο είναι επίσης δύο. Το πρόγραμμα αριθμητικών μοτίβων στο Java λειτουργεί επίσης στο σύστημα γραμμών και στηλών.
- Μοτίβο χαρακτήρων: Ο προγραμματισμός μοτίβων χαρακτήρων αποτελείται από χαρακτήρες που βρίσκονται στο Αγγλικά αλφάβητα. Αυτός είναι ένας άλλος τρόπος για να βελτιώσετε τις δεξιότητές σας κωδικοποίησης, αλλά εδώ ασχολούμαστε με χαρακτήρες, όχι με αριθμούς ή αστέρια. Το μοτίβο μπορεί να έχει τον ίδιο χαρακτήρα σε ολόκληρο το μοτίβο ή μπορεί να έχει διαφορετικούς χαρακτήρες εξαρτάται από τη λογική που εφαρμόζετε.
Ο παρακάτω πίνακας δείχνει τις αλλαγές μεταξύ των κατηγοριών.
| Κατηγορία | Εκτυπωμένη μονάδα | Από πού προέρχεται η εκτυπωμένη αξία | Δείγμα εξόδου |
|---|---|---|---|
| Μοτίβο αστεριών | Αστερίσκος | Ένα σταθερό σύμβολο, επομένως αλλάζουν μόνο τα όρια του βρόχου | * * * |
| Αριθμητικό μοτίβο | Digit | Ο επαναλήπτης βρόχου i ή j εκτυπώνεται απευθείας | 1 2 3 |
| Μοτίβο χαρακτήρων | Επιστολή | Μια int seed cast σε char, ξεκινώντας από 65 για A | αλφάβητο |
Και στις τρεις περιπτώσεις, ο εξωτερικός βρόχος μετρά γραμμές, ένας εσωτερικός βρόχος εκτυπώνει ευθυγραμμίζοντας τα κενά και ένας δεύτερος εκτυπώνει τους ορατούς χαρακτήρες. Αλλάζει μόνο η εκτυπωμένη μονάδα.
Οι ίδιες δεξιότητες κυκλικής κίνησης καθοδηγούν άλλες κλασικές ασκήσεις όπως ταξινόμηση επιλογής, είδος εισαγωγής, και το Αριθμός Άρμστρονγκ προγράμματος.
Τα μοτίβα των αστεριών έρχονται πρώτα, επειδή το σύμβολο δεν αλλάζει ποτέ και μόνο τα όρια του βρόχου έχουν σημασία.
Προγράμματα μοτίβων αστεριών στο Java
Τα μοτίβα αστεριών εκτυπώνουν έναν αστερίσκο στην κονσόλα, το σχήμα του μοτίβου εξαρτάται εξ ολοκλήρου από τον κώδικα που γράφετε.
Πρόγραμμα μοτίβο αστεριού με μισό αριστερό τρίγωνο:
Το παρακάτω πρόγραμμα εκτυπώνει αυτό το μισό αριστερό τρίγωνο:
public class LeftStarPattern{ public static void main(String args[]){ int i, j, row = 6; for (i=0; i<row; i++) { for (j=2*(row-i); j>=0; j--) { System.out.print(" "); } for (j=0; j<=i; j++ ) { System.out.print("* "); } System.out.println(); } } }
Code εξήγηση:
- Δηλώνω int i, int j. Δηλώστε και αρχικοποιήστε τη μεταβλητή σειράς ως an σειρά int.
- Το i είναι ο επαναλήπτης για τον εξωτερικό βρόχο «for» και, το j είναι ένας επαναλήπτης για τον εσωτερικό βρόχο «για», η «σειρά» περιέχει έναν αριθμό από τις σειρές που πρέπει να έχει η πυραμίδα.
- Στο ένθετο για, το εξωτερικό «για» αντιπροσωπεύει σειρές και το εσωτερικό «για» αντιπροσωπεύει στήλες.
- Στο εξωτερικό «για», αρχικοποιήστε τον επαναλήπτη «i» με 0, ορίστε τη συνθήκη i< σειρά και αυξήστε το i.
- Τώρα ο εσωτερικός βρόχος 'for' αρχικοποιείται με 2*(row-i) και μειώνεται.
- Το ένθετο «για» εκτυπώνει χώρο στην οθόνη της κονσόλας.
- Έξω από το σώμα του ένθετου «για» τοποθετείται ένας άλλος βρόχος «για». αυτό "για" τυπωμένο αστέρι αφού εκτελεστεί το ένθετο «για». Κάνει βρόχο μέχρι j<=i.
Πρόγραμμα Sandglass pattern pattern:
Δύο στοιβαγμένες πυραμίδες παράγουν αυτό το αμμόγλυφο:
public class Main { public static void main(String[] args) { int rows = 5; for (int i= 0; i<= rows-1 ; i++) { for (int j=0; j <i; j++) { System.out.print(" "); } for (int k=i; k<=rows-1; k++) { System.out.print("*" + " "); } System.out.println(""); } for (int i= rows-1; i>= 0; i--) { for (int j=0; j< i ;j++) { System.out.print(" "); } for (int k=i; k<=rows-1; k++) { System.out.print("*" + " "); } System.out.println(""); } } }
Code εξήγηση:
- Code ξεκινά με το δημόσιο στατικό κενό κύριος, σειρές int θα καθορίσει τον αριθμό των σειρών που θα περιέχει το γυαλί άμμου.
- Υπάρχουν δύο ένθετα «για», το πρώτο θα εμφανίζει την προς τα κάτω πυραμίδα και το δεύτερο θα εμφανίζει την προς τα πάνω πυραμίδα.
- Στο ένθετο για, το εξωτερικό «για» αντιπροσωπεύει σειρές και το εσωτερικό «για» αντιπροσωπεύει στήλες.
- Στους εξωτερικούς βρόχους «για» μέχρι το i<= σειρά-1, στους εσωτερικούς βρόχους «για» μέχρι το i. σύστημα εκτύπωσης εκτυπώνει το χώρο στην κονσόλα.
- Ο δεύτερος εσωτερικός βρόχος εκτυπώνει έναν αστερίσκο συν κενό στην κονσόλα.
- Όταν ο πρώτος εσωτερικός βρόχος εκτελείται πλήρως στο i=0, μετά τον δεύτερο εσωτερικό βρόχο εκτελείται πλήρως.
- Στη συνέχεια, ο εξωτερικός βρόχος αυξήθηκε. Αυτός ο κύκλος συνεχίζεται έως ότου η συνθήκη γίνει ψευδής.
- Ο δεύτερος ένθετος βρόχος εμφανίζει την προς τα πάνω πυραμίδα, αλλάζοντας απλώς την αρχικοποίηση και την κατάσταση του εξωτερικού βρόχου του πρώτου ένθετου βρόχου.
- Θα εμφανίσει την ανοδική πυραμίδα. Τόσο οι προς τα κάτω όσο και οι ανοδικές πυραμίδες θα κάνουν το μοτίβο αστέρι γυαλιού άμμου.
Πρόγραμμα μοτίβο αστεριών σε σχήμα διαμαντιού:
Μια ανοδική και μια καθοδική πυραμίδα δίνουν αυτό το διαμάντι:
public class Main { public static void main(String args[]) { int n, i, j, space_0 = 1; n = 6; space_0 = n - 1; for (j = 1; j<= n; j++) { for (i = 1; i<= space_0; i++) { System.out.print(" "); } space_0--; for (i = 1; i <= 2 * j - 1; i++) { System.out.print("*"); } System.out.println(""); } space_0 = 1; for (j = 1; j<= n - 1; j++) { for (i = 1; i<= space_0; i++) { System.out.print(" "); } space_0++; for (i = 1; i<= 2 * (n - j) - 1; i++) { System.out.print("*"); } System.out.println(""); } } }
Code εξήγηση:
- Στο μοτίβο αστεριών με διαμάντια, Το 'n' είναι ο αριθμός των σειρών που είναι αποθηκευμένες n-1 στο space_0.
- Στο ένθετο για, το εξωτερικό «για» αντιπροσωπεύει σειρές και το εσωτερικό «για» αντιπροσωπεύει στήλες.
- Το πρώτο ένθετο «για» εμφανίζει την ανοδική πυραμίδα. Οι εξωτερικοί βρόχοι "for" μέχρι το n και οι εσωτερικοί βρόχοι για βρόχους μέχρι το space_0 ο εσωτερικός βρόχος εμφανίζει χώρο στην κονσόλα.
- Υπάρχει ένα άλλο εσωτερικό «για» που επαναλαμβάνεται μέχρι i<= 2 * j – 1 και εμφανίζει ένα αστέρι έξω από αυτό το εσωτερικό σύστημα εκτύπωσης «για» που εκτυπώνει μια γραμμή. Αυτός ο ένθετος βρόχος εκτυπώνει την άνω πυραμίδα.
- Το άλλο ένθετο «για» εμφανίζει μια πυραμίδα προς τα κάτω. Οι εξωτερικοί βρόχοι 'for' μέχρι i<=n-1, ο πρώτος εσωτερικός 'for' εκτυπώνει χώρο και δεύτερος εσωτερικός για εκτυπώσεις αστέρι.
- Έξω από τον εσωτερικό χώρο «για», εκτύπωσης γραμμής. Τόσο η ανοδική όσο και η καθοδική πυραμίδα κάνει το διαμαντένιο μοτίβο.
Πρόγραμμα διαστημικού μοτίβου αστεριού δεξιού τριγώνου:
Το μέτρο των j και i εισάγει αυτά τα κενά:
public class AsterikProgramJava { public static void main(String[] args) { for(int i=1;i<=10;i++) { for(int j=1;j<=i+i;j++) { int mid; mid=j%i; if(mid==0) System.out.print("* "); else System.out.print("*"); } System.out.print("\n"); } } }
Code εξήγηση:
- Στο πάνω από το μοτίβο κώδικας, το εξωτερικό «για» φροντίζει για τον αριθμό των γραμμών και το εσωτερικό «για» διατηρεί τις στήλες.
- Όταν το εξωτερικό «για» είναι 1, που σημαίνει η πρώτη σειρά, και όταν το εσωτερικό «για» είναι 1, αυτό σημαίνει ότι είναι η πρώτη στήλη.
- Μέσα στο εσωτερικό «for», δηλώστε μια μεταβλητή με το όνομα mid και αποθηκεύστε το υπόλοιπο του j/i. Αυτό διαιρεί τις τιμές i και j για να πάρει το μέτρο.
- Έτσι, εάν ο συντελεστής είναι 0, τότε εμφανίστε έναν αστερίσκο και ένα διάστημα. Διαφορετικά, εμφανίστε μόνο έναν αστερίσκο. Έξω από το εσωτερικό «για», εκτυπώστε μια γραμμή.
ΜΟΝΤΕΡΝΑ Java σημειώσεις: από Java 11 οι διαστημικοί βρόχοι μπορούν να αντικατασταθούν από System.out.print(" ".repeat(n))και χτίζοντας κάθε γραμμή σε ένα StringBuilder πριν τη μία println() Η κλήση εκτελείται πιο γρήγορα. Ο αρχικός κώδικας διατηρείται όπως έχει γραφτεί, επειδή δείχνει ρητά την αριθμητική.
ανταλλαγήςping Ο αστερίσκος για τον μετρητή βρόχου μετατρέπει κάθε σχήμα αστεριού σε σχήμα αριθμού.
Προγράμματα αριθμητικών μοτίβων σε Java
Τα αριθμητικά μοτίβα αποτελούνται από αριθμούς. μπορούμε να σχεδιάσουμε πολλά διαφορετικά σχήματα από αριθμητικά μοτίβα.
Πρόγραμμα μοτίβου απέναντι μισού τριγώνου:
Μετρώντας προς τα κάτω και μετά προς τα πάνω, προκύπτει αυτό το αριθμητικό τρίγωνο:
public class Number_p { public static void main(String[] args) { int i, j, rows_0=5; for (i = rows_0; i >= 1; i--) { for (j = 1; j <= i; j++) { System.out.print(j+" "); } System.out.println(); } for (i = 2; i <= rows_0; i++) { for (j = 1; j <= i; j++) { System.out.print(j+" "); } System.out.println(); } } }
Code εξήγηση:
- Για να σχεδιάσουμε αυτό το μοτίβο, θα χρησιμοποιήσουμε δύο ένθετους βρόχους «για». Το ένα θα εκτυπώσει την πρώτη πυραμίδα και το άλλο θα εμφανίσει τη δεύτερη πυραμίδα.
- Δηλώνω int i, int j και int row_0 και αρχικοποιήστε τη σειρά με βάση τον αριθμό των γραμμών που θέλετε. Εδώ η τιμή της σειράς είναι 5.
- Ορίστε τον εξωτερικό βρόχο 'for' του πρώτου ένθετου 'for', αρχικοποιήστε το i με τον αριθμό των σειρών και επαναλάβετε μέχρι i >= και μειώστε τον επαναλήπτη. Αυτό το εξωτερικό «για» ασχολείται με σειρές.
- Στο εσωτερικό «για» ορίστε τη συνθήκη j=1 και επαναλάβετε μέχρι j<=i. Στο σώμα του εσωτερικού βρόχου, εμφανίστε τη μεταβλητή j με το διάστημα.
- Τώρα στο δεύτερο ένθετο «για», αλλάξτε την εξωτερική συνθήκη «για» του πρώτου ένθετου «για». Αρχικοποιήστε το κατά 2 και κάντε βρόχο μέχρι τις σειρές i<=.
- Και ο εσωτερικός βρόχος επαναλαμβάνεται μέχρι να φτάσει στο i. Στη συνέχεια, εμφανίζει το μήνυμα στην κονσόλα, το ίδιο όπως στον εσωτερικό βρόχο του πρώτου ένθετου «για» έξω από το σώμα του εσωτερικού χώρου γραμμής για εκτυπώσεις.
Επαναλαμβανόμενος αριθμός στη στήλη Πρόγραμμα μοτίβου δεξιού τριγώνου:
Η επαναφορά του μετρητή σε κάθε σειρά επαναλαμβάνει τους αριθμούς:
public class Number_pattern { public static void main(String args[]) { int i, j,number, n=7; for(i=0; i<n; i++) { number=1; for(j=0; j<=i; j++) { System.out.print(number+ " "); number++; } System.out.println(); } } }
Code εξήγηση:
- Στο παράδειγμα κώδικα, δηλώστε int i, int j, int αρber, και int n.
- Στη συνέχεια, αρχικοποιήστε το n με την τιμή του αριθμού των γραμμών που θέλετε, εδώ είναι 7.
- Στο εξωτερικό «for», ξεκινήστε τον βρόχο από την τιμή 0 και επαναλάβετε μέχρι να φτάσετε στο n.
- Μπορείτε να αρχικοποιήσετε τον αριθμό εντός ή εκτός του βρόχου.
- Στο εσωτερικό «για», επαναλάβετε έως ότου το j είναι μικρότερο ή ίσο με το i έφτασε. Και εμφανίστε τον αριθμό με το διάστημα.
- Έξω από το σώμα του εσωτερικού «για», εκτυπώστε χώρο γραμμής.
- Το εσωτερικό «για» επαναλαμβάνεται έως ότου η κατάστασή του γίνει ψευδής. Όταν αυτή η συνθήκη γίνει ψευδής, ο εξωτερικός βρόχος αυξάνεται ξανά και εκτελεί το εσωτερικό «για» έως ότου η συνθήκη γίνει ψευδής.
- Αυτή η διαδικασία επαναλαμβάνεται μέχρι ο εξωτερικός βρόχος να γίνει ψευδής.
Ο ίδιος σκελετός εκτυπώνει γράμματα μόλις ένας int seed μετατραπεί σε char.
Προγράμματα μοτίβων χαρακτήρων σε Java
Τα μοτίβα χαρακτήρων αποτελούνται από αγγλικά αλφάβητα. Μπορούμε να δημιουργήσουμε ωραία και εντυπωσιακά προγράμματα μοτίβων χαρακτήρων. Java μερικά συζητούνται παρακάτω.
Πρόγραμμα μοτίβο μισής πυραμίδας χαρακτήρων:
Η μετατροπή ενός int seed σε char εκτυπώνει αυτά τα γράμματα:
public class Character_p{
public static void main(String[] args){
int alphabet = 65;
for (int i = 0; i <= 5; i++){
for (int j = 0; j <= i; j++)
{
System.out.print((char) alphabet + " ");}
alphabet++;
System.out.println();
}
}
}
Code εξήγηση:
- Δηλώστε το αλφάβητο και αρχικοποιήστε το με την τιμή 65.
- Το εξωτερικό for ξεκινά τον βρόχο από το 0 και επαναλαμβάνει μέχρι το i να γίνει 5 ή λιγότερο.
- Μέσα στο for, ο βρόχος ξεκινά από το 0 και επαναλαμβάνεται έως ότου το j είναι μικρότερο ή ίσο του i.
- Στη συνέχεια, εκτυπώστε τον χαρακτήρα και το διάστημα στην οθόνη εξόδου.
- Για να εκτυπώσουμε χαρακτήρες, πληκτρολογούμε το αλφάβητο από ακέραιο σε χαρακτήρα.
- Έξω από το σώμα του, αυξήστε το αλφάβητο και εκτυπώστε τη γραμμή στην οθόνη εξόδου. Το (char) μετατρέπει την τιμή του αλφαβήτου σε χαρακτήρα.
Σχέδιο πυραμίδας/τριγώνου σε Java:
Ένας βρόχος διαστήματος κεντράρει τα γράμματα σε μια πυραμίδα:
public class CharacterPattern
{
public static void main(String[] args){
for (int i = 0; i <= 8; i++)
{
int alphabet_0 = 65;
for (int j = 8; j > i; j--)
{
System.out.print(" ");
}
for (int k = 0; k <= i; k++)
{
System.out.print((char) (alphabet_0 + k) + " ");
}
System.out.println();
}
}
}
Code εξήγηση:
- Σε αυτό το παράδειγμα κώδικα, χρησιμοποιήσαμε τρεις βρόχους «για», ο ένας είναι ένας εξωτερικός βρόχος και δύο βρόχοι είναι ένθετοι μέσα στο εξωτερικό «για».
- Το εξωτερικό «για» ξεκινά από το 0 και επαναλαμβάνεται έως ότου η τιμή είναι 8 ή μικρότερη.
- Στο σώμα του εξωτερικού «for», αρχικοποιήσαμε τη μεταβλητή αλφαβήτου ακέραιου τύπου με τιμή 65 και τοποθετήσαμε την άλλη «για» στο σώμα της.
- Το πρώτο εσωτερικό "for" είναι το πίσω μέρος του εξωτερικού βρόχου "for" και στο σώμα του, υπάρχει χώρος εκτύπωσης στην κονσόλα. Έξω από το σώμα του, υπάρχει ένα άλλο «για». Επαναλαμβάνεται όπως ο εξωτερικός βρόχος.
- Στο σώμα του δεύτερου εσωτερικού βρόχου, εκτυπώστε τον χαρακτήρα πληκτρολογώντας το αλφάβητο +k και εκτυπώστε τον με κενό διάστημα στην κονσόλα. Έξω από το σώμα του δεύτερου εσωτερικού «για» τυπώστε μια γραμμή.








