Dalam artikel Patterns in Java, sebelum mempelajari mana-mana bahasa pengaturcaraan dalam Java dan mendalami konsep lanjutan, adalah penting untuk memahami cara kerja gelung. Walaupun terdapat 3 jenis gelung iaitu gelung for, while dan do-while. Setiap gelung digunakan mengikut situasi tertentu program kerana ia berbeza sedikit antara satu sama lain. Untuk menggunakan pelbagai gelung memerlukan beberapa logik pengaturcaraan, dan untuk tujuan ini, amalan corak diberikan kepada pengaturcara kerana ia melibatkan penggunaan kuasa logik dan penaakulan. Contohnya, ia boleh mencetak angka geometri (seperti segi tiga, segi empat sama, dsb.), piramid, kotak dalam pelbagai corak bintang, nombor dan gaya watak pada skrin konsol. Format atau sintaks asas gelung mungkin berbeza dari satu bahasa pengaturcaraan ke bahasa lain, tetapi logik umum untuk mencetak corak ini tetap sama.
IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olokContoh Corak dalam Java
Mari kita fahami cara melukis corak dalam Java melalui beberapa contoh
Contoh1: Mencetak separuh piramid menggunakan nombor.
Kod:
public class Pyramid { public static void main(String[] args) { int i, j; ?//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++) { ?//innermost loop is to print the numbers in the specific rows for (j=1; j<=i; j++) { System.out.print(j +" " ); } System.out.println(); } } }
Output:
Dalam contoh di atas, hanya 2 gelung asas diperlukan untuk mencetak corak; yang pertama untuk gelung adalah untuk bilangan baris. Dalam kes kami, kami telah menentukan baris, iaitu 5, jika tidak, kami juga boleh mengambil input daripada pengguna dan menyimpannya dalam pembolehubah. Gelung dalam adalah untuk mencetak nombor dalam baris tertentu; Selepas selesai 1 baris atau penghujung gelung 'j', baris ditukar menggunakan println().
Contoh2: Mencetak anak panah nombor.
Kod:
public class NumberTriangle { public static void main(String[] args) { int i, j; int rows =7; ?//outermost loop to represent the number of rows which is 7 in this case //for the upper half of arrow for (i=1; i<= rows; i++) { ?//innermost loop is to print the numbers in the specific rows //for the upper half of arrow for (j=1; j<=i; j++) { System.out.print(j + " "); } System.out.println(); } ?//outermost loop to represent the number of rows which is 6 in this case //for the lower half of arrow for (i=rows-1; i>=1; i--) { ?//innermost loop is to print the numbers in the specific rows //for the lower half of arrow for (j=1; j<=i; j++) { System.out.print(j + " "); } System.out.println(); } } }
Output:
?
Dalam contoh di atas, kita perlu membahagikan anak panah kepada dua bahagian dan menggunakan 2 gelung untuk setiap separuh. Separuh pertama baris ialah nilai awal yang ditetapkan untuk baris, manakala kiraan baris adalah 1 kurang daripada nilai awal untuk bahagian bawah. Gelung dalam untuk kedua-dua bahagian digunakan untuk melelaran melalui setiap baris mengikut gelung luar.
Contoh3: Mencetak piramid penuh menggunakan bintang(*).
Kod:
public class FullPyramid { public static void main(String[] args) { int i, j, k; int rows = 5; //outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= rows; i++) { //innermost loop to represent the spaces in pyramid for (j= 1; j<= rows-i; j++) { System.out.print(" "); } ?//innermost loop to represent the stars (*) in pyramid for (k= 1; k<= 2*i-1; k++) { System.out.print("* "); } System.out.println(); } } }
Output:
Dalam contoh di atas, kita perlu melakukan 3 perkara, iaitu mengingati jumlah bilangan baris untuk pencetakan piramid yang mana gelung pertama untuk ?berfungsi daripada pembolehubah 1 kepada baris. Kedua, kita perlu mencetak ruang dalam piramid dahulu dan kemudian corak (*) selepas ruang. Untuk kedua dan ketiga ? ini, untuk ?gelung digunakan di dalam gelung luar ‘i’.
Contoh 4: Mencetak separuh piramid terbalik menggunakan nombor.
Kod:
public class ReversePyramid { public static void main(String[] args) { int i, j, k; int rows = 5; ?//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= rows; i++) { //innermost loop to represent the spaces for (j= 1; j<= rows-1; j++) { System.out.print(" "); } ?//innermost loop to represent the stars (*) in pyramid for (k= 1; k<= i; k++) { System.out.print("* "); } System.out.println(); } } }
Output:
Separuh piramid mudah adalah mudah kerana kita perlu mengendalikan nombor, * atau aksara yang kita cetak, tetapi untuk piramid terbalik, kita perlu mencetak dahulu ruang dan kemudian corak, iaitu (*) dalam kes kita . Jadi 3 ?untuk? gelung digunakan, berfungsi sama dengan gelung dalam kes piramid penuh.
Contoh 5: Mencetak separuh piramid menggunakan abjad.
Kod:
public class AlphabetPyramid { public static void main(String[] args) { int i, j; ?//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++) { int ch = 65; ?//innermost loop to represent the alphabets in a pyramid in particular row for (j= 1; j<= i; j++) { System.out.print((char)(ch + i - 1) + " "); } System.out.println(); } } }
Output:
Piramid dicetak dengan logik yang sama seperti yang digunakan dalam contoh di atas, menggunakan 2 ?untuk ?gelung, satu untuk bilangan baris dan lain-lain untuk mencetak aksara dalam baris tertentu. Tetapi perkara utama yang perlu diberi perhatian ialah pengendalian data aksara. Contohnya, ‘A’ mempunyai nilai berangka 65 dalam Java, jadi semua logik matematik dilakukan menggunakan nilai berangka abjad, dan pada akhirnya, ia dicetak dalam format aksara.
Contoh 6: Mencetak corak abjad.
Kod:
public class AlphabetPattern { public static void main(String[] args) { int i, j; //outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++) { int ch = 65; ?//innermost loop to represent the alphabets for (j= 1; j<= i; j++) { System.out.print((char)(ch - 1 + j) + " "); } System.out.println(); } } }
Output:
Corak asas yang diikuti untuk menangani nilai aksara dan 2 ?untuk ?gelung dalam contoh di atas adalah serupa dengan Contoh 5 cuma perbezaan ialah logik mudah yang digunakan untuk mencetak corak yang diingini.
Contoh 7: Mencetak segi empat sama menggunakan bintang (*).
Kod:
public class SquarePattern { public static void main(String[] args) { int i, j; ?//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++) { int ch = 65; //innermost loop to represent the stars (*) for (j= 1; j<= 5; j++) { System.out.print(" * " + " "); } System.out.println(); } } }
Output:
For printing of square, we need length and width, i.e. both sides of the square should be the same, which is 5 in our case. So the first ? ?loop is used for the length or number of rows in the square, and the inner ? ?loop is used for the width of the square, i.e. 5 stars in a single row.
Example 8: Printing rectangle using stars (*).
Code:
public class RectanglePattern { public static void main(String[] args) { int i, j; ?//outermost loop to represent the number of rows which is 5 in this case for(i= 1; i<= 5; i++) { int ch = 65; ?//innermost loop to represent columns the stars (*) for (j= 1; j<= 9; j++) { System.out.print(" * " + " " ); } System.out.println(); } } }
Output:
The basic logic of printing the rectangle of (*) is the same as printing of squares, the only difference between is the different length and width of the rectangle. Here ‘i’ loop is for the length of the rectangle, and the inner ‘j’ loop is for the width of the loop. Our program is taken as a constant value; we can also ask the user and store them in separate variables.
Example 9: Printing a Diamond using stars.
Printing a diamond in Java is a very simple process. It involves printing 2 pyramids, 1 in the upward direction and another in an inverted direction. Basically, we need to use the loops to do the coding to print two separate pyramids.
Code:
public class Diamond { public static void main(String[] args) { int i, j, k; int rows = 5; ?//outermost loop to represent the number of rows which is 5 in this case. // Creating upper pyramid for(i= 1; i<= rows; i++) { //innermost loop to represent the spaces in upper pyramid for (j= 1; j<= rows-i; j++) { System.out.print(" "); } ?//innermost loop to represent the stars (*) in upper pyramid for (k= 1; k<= 2*i-1; k++) { System.out.print("* "); } System.out.println(); } ?//outermost loop for the rows in the inverted pyramid for (i = rows-1; i>0; i--) { ?//innermost loop for the space present in the inverted pyramid for (j=1; j<= rows - i; j++) { System.out.print(" "); } ?//innermost loop inside the outer loop to print the ( * ) pattern in inverted pyramid for (k = 1; k<= 2*i-1; k++) { System.out.print("* "); } System.out.println(); } } }
In the above example, almost the same logic is applied to create both pyramids, one in an upward direction and another in an inverted direction. Thus, the first ?loop is for the number of lines or rows in the pattern, and the second is for spaces and the stars (*) pattern in the pattern.
Output:
Example 10: Printing binary numbers in a stair format.
Code:
public class BinaryStair { public static void main(String[] args) { int i, j; //outer loop for the total rows which is 5 in this case for (i = 1; i <= 5; i++) { ?//inner loop for the pattern of 0 and 1 in each row for (j = 1; j<= i ; j++) { if (j % 2 ==0) { System.out.print(0); } else { System.out.print(1); } } System.out.println(); } } }
Output:
In the above example, in order to print binary pattern, outer ?for ?loop ‘i’ is used for a total number of rows, and the inner ?for ?loop ‘j’ is used to iterate till the outer loop ‘i’ because for the 1st row, we need 1 value, for the 2nd row we need 2 values, and so on. ?If? and else ?statements are used in order to print the alternate value of 0 and 1. Suppose for the first time i=1, j=1 and 1%2 != 0, then 1 is printed, and execution will move out of the inner loop.
Example 11: Program to print repeating alphabet patterns.
Code:
public class AlphabetReverseOrder { public static void main(String[] args) { int i, j, k; //outer loop for the total rows which is 5 in this case for (i = 0 ; i<=5; i++) { int ch= 65; //inner loop for the pattern of alphabets in till ‘i’ loop for (j = 0; j <=i ; j++) { System.out.print((char) (ch+j) + " "); } //inner loop for the pattern of alphabets in reverse order from ‘i’ loop for (k= i-1; k >=0; k--) { System.out.print((char) (ch+k) + " "); } System.out.println(); } } }
Output:
In the above example, if we observe each row of pattern, we need to print the alphabet first in the increasing order, i.e. A B and then in the reverse order, i.e. A B A. For this, we need 3 loops, 1st ?for? loop for the total number of rows. 2nd ?for? loop to print the alphabets in increasing order then the 3rd ?for? loop which remains inside the outer ‘i’ loop and prints the alphabets in the same line but in reverse order of ‘j’ loop.
Conclusion
The above example and their explanations clearly show how to make such patterns in Java. Though these patterns seem to be difficult in the starting, observing them deeply of how the repetition of pattern is happening in a single row and according to how many loops should be used, it becomes easy to do hands-on on this. Today also, in interviews of big companies, candidates are asked to write the logic of patterns of varying difficulty levels because this pattern making shows the basic logical and programming knowledge of an individual.
Atas ialah kandungan terperinci Corak di Jawa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Laravel menyokong penggunaan pertanyaan SQL asli, tetapi parameter mengikat harus lebih disukai untuk memastikan keselamatan; 1. Gunakan db :: pilih () untuk melaksanakan pertanyaan pilih dengan parameter mengikat untuk mencegah suntikan SQL; 2. Gunakan db :: kemas kini () untuk melaksanakan operasi kemas kini dan mengembalikan bilangan baris yang terjejas; 3. Gunakan db :: masukkan () untuk memasukkan data; 4. Gunakan db :: padam () untuk memadam data; 5. Gunakan db :: pernyataan () untuk melaksanakan pernyataan SQL tanpa set keputusan seperti membuat, mengubah, dan sebagainya; 6. Adalah disyorkan untuk menggunakan Whereraw, SelectRaw dan kaedah lain dalam QueryBuilder untuk menggabungkan ungkapan asli untuk meningkatkan keselamatan

Gunakan Junit5 dan Mockito untuk mengasingkan kebergantungan secara berkesan untuk ujian unit. 1. Buat objek mengejek melalui @mock, @Injectmocks menyuntik contoh yang diuji, @extendwith membolehkan lanjutan Mockito; 2. Gunakan bila (). KemudianReturn () untuk menentukan tingkah laku simulasi, sahkan () untuk mengesahkan bilangan panggilan dan parameter; 3. Boleh mensimulasikan senario pengecualian dan mengesahkan pengendalian ralat; 4. Mengesyorkan suntikan pembina, elakkan daripada simulasi, dan mengekalkan atom ujian; 5. Gunakan assertAll () untuk menggabungkan pernyataan, dan @nested menganjurkan senario ujian untuk meningkatkan penguraikan ujian dan kebolehpercayaan.

Go Generik disokong sejak 1.18 dan digunakan untuk menulis kod generik untuk jenis selamat. 1. Fungsi generik printslice [tany] (s [] t) boleh mencetak kepingan mana -mana jenis, seperti [] int atau [] rentetan. 2. Melalui had bilangan kekangan jenis t ke jenis angka seperti int dan float, jumlah [tnumber] (slice [] t) t Summation selamat direalisasikan. 3. Struktur generik Typebox [Tany] struct {valuet} boleh merangkum sebarang nilai jenis dan digunakan dengan pembina kotak baru [Tany] (Vt)*. 4. Tambahkan set (vt) dan dapatkan () kaedah t untuk kotak [t] tanpa

Layout Jadual: Tetap akan memaksa lebar lajur jadual ditentukan oleh lebar sel baris pertama untuk mengelakkan kandungan yang mempengaruhi susun atur. 1. Tetapkan jadual-Layout: Tetapkan dan tentukan lebar jadual; 2. Tetapkan nisbah lebar lajur tertentu untuk baris pertama th/td; 3. Gunakan ruang putih: nowrap, limpahan: tersembunyi dan teks-overflow: ellipsis untuk mengawal limpahan teks; 4. Berkenaan dengan pengurusan latar belakang, laporan data dan senario lain yang memerlukan susun atur yang stabil dan rendering berprestasi tinggi, yang secara efektif dapat menghalang susun atur susun atur dan meningkatkan kecekapan rendering.

json.loads () digunakan untuk menghuraikan rentetan json ke dalam struktur data python. 1. Input mestilah rentetan yang dibungkus dalam petikan berganda dan nilai boolean adalah benar/palsu; 2. Menyokong penukaran automatik Null → Tiada, Objek → Dict, Array → List, dan sebagainya; 3. Ia sering digunakan untuk memproses rentetan JSON yang dikembalikan oleh API. Sebagai contoh, response_string boleh diakses secara langsung selepas parsing oleh json.loads (). Apabila menggunakannya, anda mesti memastikan bahawa format JSON betul, jika tidak, pengecualian akan dibuang.

ChoosetheapproprateindextypebasedOnusecase, suchassinglefield, compound, multikey, text, geospatial, orttlindexes.2.aplytheesrrulewhencreatinginginginDexesbyorderingfieldsasequaly, sort, thenrange

Maven adalah alat standard untuk pengurusan dan pembinaan projek Java. Jawapannya terletak pada hakikat bahawa ia menggunakan pom.xml untuk menyeragamkan struktur projek, pengurusan pergantungan, automasi kitaran hayat pembinaan dan sambungan pemalam; 1. Gunakan pom.xml untuk menentukan kumpulan, artifactid, versi dan kebergantungan; 2. Perintah teras utama seperti mvnclean, penyusun, ujian, pakej, memasang dan menggunakan; 3. Gunakan DependencyManagement dan Pengecualian untuk Menguruskan Versi Ketergantungan dan Konflik; 4. Mengatur aplikasi besar melalui struktur projek multi-modul dan diuruskan secara seragam oleh POM induk; 5.

Dalam Python, pemindahan hujah fungsi adalah "lulus rujukan objek", iaitu, 1 untuk objek yang boleh berubah (seperti senarai dan kamus), pengubahsuaian dalam-situ (seperti tambahan, kepingan tugasan) dalam fungsi akan secara langsung mempengaruhi objek asal; 2. Untuk objek yang tidak berubah (seperti integer, rentetan), objek asal tidak dapat diubah dalam fungsi, dan menugaskan semula hanya akan membuat objek baru; 3. Parameter lulus salinan rujukan. Jika pemboleh ubah ditolak dalam fungsi (seperti LST = [...]), sambungan dengan objek asal tidak akan terjejas, dan pembolehubah luaran tidak akan terjejas. Oleh itu, mengubahsuai objek yang boleh berubah mempengaruhi data asal, sementara objek yang tidak berubah dan penugasan semula tidak, yang menjelaskan mengapa senarai itu dapat dilihat secara luaran selepas pengubahsuaian dalam fungsi, sementara perubahan integer hanya di dalam negara.
