Java是公认的最流行的编程语言,因为它的简单性和多功能性。还可以使用它开发各种应用程序,包括Web、移动和桌面应用程序。此外,Java为开发人员提供了强大的工具来轻松高效地创建复杂的程序。Java最有前途的特性之一是它能够创建可以以特定格式打印数字的图案程序。模式程序是学习Java编程的一种很好的方法,特别是对于初学者,因为它有助于理解Java编程的语法和逻辑。
Java模式程序一直是Java面试问题的关键部分之一。它们看起来几乎不可能在某一点上被破解,但这些问题实际上是基于数理逻辑和矩阵的基本原理。因此,Java模式程序非常受欢迎。
这篇Java模式程序文章涵盖了几乎所有可能的模式程序类型,这些程序将使您更好地理解解码模式的逻辑,并能够在面试中构建模式。
在Java中打印模式是编程中的常见任务,尤其是在学习的早期阶段。图案是通过以特定的方式排列符号或数字来形成设计或形状来打印的。这些模式经常用于解决问题,在发展算法思维技能方面也很有用。本文将讨论如何在Java中打印模式,并探索一些最常见的模式。
在Java中打印模式的循环和控制语句是最好的。循环帮助您重复代码块,直到满足特定条件,并且控制语句允许您根据特定条件更改程序流。下面讨论Java中的不同模式:
我们将通过以下摘要处理不同类型的Java模式程序。
星形图案是Java中流行的图案程序,通常用于创建有趣的视觉设计或图形。这些程序使用马赛克或其他符号来创建各种形状和图案。星形图案通常用于计算机图形,标志设计和其他视觉显示。
在Java中创建星形图案涉及到使用嵌套循环来控制行数和列数以及星号或其他符号的位置。该程序可以定制以创建图案,包括三角形、正方形、圆形和更复杂的设计。此外,它还可以定制以创建各种图案,如下所述:
/*Star Pattern 1
*
* *
* * *
* * * *
* * * * * */
package tech.besthub;
public class Star {
public static void main(String[] args) {
int rows = 5;
for (int i = 1; i <= rows; ++i) { //Outer loop for rows
for (int j = 1; j <= i; ++j) { //Inner loop for Col
System.out.print("* "); //Print *
}
System.out.println(); //New line
}
}
}
/*Star Pattern 2
* * * * *
* * * *
* * *
* *
* */
package tech.besthub;
public class Star {
public static void main(String[] args) {
int rows = 5;
for(int i = rows; i >= 1; --i) { //For Loop for Row
for(int j = 1; j <= i; ++j) { //For Loop for Col
System.out.print("* "); //Prints *
}
System.out.println(); //Get to newline
}
}
}
/*Star Pattern 3
*
* *
* * *
* * * *
* * * * *
* * * *
* * *
* *
* */
package tech.besthub;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //Input
System.out.println("Enter the number of rows: ");
int rows = sc.nextInt();
for (int i = 0; i <= rows - 1; i++) { //For Loop for Row
for (int j = 0; j <= i; j++) { //For Loop for Col
System.out.print("*" + " "); //prints * and blank space
}
System.out.println(""); // new line
}
for (int i = rows - 1; i >= 0; i--) { //For Loop for Row
for (int j = 0; j <= i - 1; j++) { //For Loop for Col
System.out.print("*" + " "); //prints * and blank space
}
System.out.println("");// new line
}
sc.close();
}
}
/*Star Pattern 4
*
* *
* * *
* * * *
* * * * * */
package tech.besthub;
public class Star {
public static void printStars(int n) {
int i, j;
for (i = 0; i < n; i++) {
for (j = 2 * (n - i); j >= 0; j--) { //For Loop for Row
System.out.print(" "); // Print Spaces
}
for (j = 0; j <= i; j++) { //For Loop for col
System.out.print("* "); // Print Star
}
System.out.println();
}
}
public static void main(String args[]) {
int n = 5; //Number of Rows
printStars(n);
}
}
/*Star Pattern 5
* * * * *
* * * *
* * *
* *
* */
package tech.besthub;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner S = new Scanner(System.in); //Input
System.out.println("Enter row value ");
int r = S.nextInt();
for (int i = r; i >= 1; i--) {
for (int j = r; j > i; j--) {
System.out.print(" "); // Prints Blank space
}
for (int k = 1; k <= i; k++) {
System.out.print("*"); //Prints *
}
System.out.println(" "); //Prints blank spaces
}
S.close();
}
}
/*Star Pattern 6
*
**
***
****
*****
****
***
**
* */
package tech.besthub;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number of rows: ");
int rows = sc.nextInt();
for (int i = 1; i <= rows; i++) {
for (int j = i; j < rows; j++) { //Rows Loop
System.out.print(" "); // Blank Space
}
for (int k = 1; k <= i; k++) { //Cols Loop
System.out.print("*"); // Prints *
}
System.out.println("");
}
for (int i = rows; i >= 1; i--) {
for (int j = i; j <= rows; j++) { //Rows Loop
System.out.print(" "); // Prints blank spaces
}
for (int k = 1; k < i; k++) { //Col Loop
System.out.print("*"); // Prints *
}
System.out.println(""); // New Line1
}
sc.close();
}
}
/*Star Pattern 7
*
* *
* * *
* * * *
* * * * * */
package tech.besthub;
public class Star {
public static void printTriagle(int n) {
for (int i = 0; i < n; i++) {
for (int j = n - i; j > 1; j--) { //Loop for blank space
System.out.print(" "); //Print Space
}
for (int j = 0; j <= i; j++) { loop for star
System.out.print("* "); //Print Star
}
System.out.println(); //Newline
}
}
public static void main(String args[]) {
int n = 5;
printTriagle(n);
}
}
/*Star Pattern 8
* * * * *
* * * *
* * *
* *
* */
package tech.besthub;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number of rows: ");
int rows = sc.nextInt();
for (int i = 0; i <= rows - 1; i++) { //For loop for Rows
for (int j = 0; j <= i; j++) { //For loop for Col
System.out.print(" "); // blank space
}
for (int k = 0; k <= rows - 1 - i; k++) {
System.out.print("*" + " "); // prints * and blank space
}
System.out.println(); //Next line
}
sc.close();
}
}
/*Star Pattern 9
*
***
*****
*******
*********
*******
*****
***
* */
package tech.besthub;
import java.util.Scanner;
public class Star {
public static void main(String args[]) {
int n, x, j, blank = 1;
System.out.print("Enter the value for rows: ");
Scanner s = new Scanner(System.in);
n = s.nextInt(); //input
blank = n - 1; // logic for balck spaces
//Upper star Pyramid
for (j = 1; j <= n; j++) {
for (x = 1; x <= blank; x++) {
System.out.print(" "); //print blank space
}
blank--;
for (x = 1; x <= 2 * j - 1; x++) {
System.out.print("*"); //Print Star
}
System.out.println("");
}
//Lower star Pyramid
blank = 1;
for (j = 1; j <= n - 1; j++) {
for (x = 1; x <= blank; x++) {
System.out.print(" "); //Print Spaces
}
blank++;
for (x = 1; x <= 2 * (n - j) - 1; x++) {
System.out.print("*"); //Print Star
}
System.out.println(""); //Print new line
}
}
}
/*Star Pattern 10
* * * * *
* * * *
* * *
* *
*
*
* *
* * *
* * * *
* * * * * */
package tech.besthub;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number of rows: ");
int rows = sc.nextInt(); //Input
//Upper Inverted Pyramid
for (int i = 0; i <= rows - 1; i++) {
for (int j = 0; j < i; j++) {
System.out.print(" "); Print blank space
}
for (int k = i; k <= rows - 1; k++) {
System.out.print("*" + " "); //Print star and blank space
}
System.out.println(""); //New line
}
//For lower Pyramid
for (int i = rows - 1; i >= 0; i--) {
for (int j = 0; j < i; j++) {
System.out.print(" "); //Print spaces
}
for (int k = i; k <= rows - 1; k++) {
System.out.print("*" + " "); //Print Star and Space
}
System.out.println(""); //Print New line
}
sc.close();
}
}
/*Diagonal 11
*
*
*
*
* */
package tech.besthub;
public class Star {
public static void main(String[] args) {
int i, j;
for (i = 1; i <= 5; i++) {
for (j = 0; j < 5 - i; j++) {
System.out.print(" "); //Print blank space
}
System.out.print("*"); //Print Star and newline
}
}
}
它创建了X个字符的对角线模式。可以使用嵌套循环创建该模式,该循环根据行号和列号在特定位置打印X个字符。
/*X Pattern 12
* *
* *
* *
*
* *
* *
* * */
package tech.besthub;
import java.util.*;
public class Star {
public static void main(String args[]) {
int i, j, n;
Scanner sc = new Scanner(System.in);
System.out.println("Enter a value for n");
n = sc.nextInt(); //Input
//Upper V pattern
for (i = n; i >= 1; i--) {
for (j = i; j < n; j++) {
System.out.print(" ");//print spaces
}
for (j = 1; j <= (2 * i - 1); j++) {
if (j == 1 || j == (2 * i - 1))//Logic for printing star
System.out.print("*");
else
System.out.print(" ");//if logic fails print space
}
System.out.println("");
}
//Lower Inverted V pattern
for (i = 2; i <= n; i++) {
for (j = i; j < n; j++) {
System.out.print(" ");//Print spaces
}
for (j = 1; j <= (2 * i - 1); j++) {
if (j == 1 || j == (2 * i - 1))//Logic for printing star
System.out.print("*");
else
System.out.print(" ");//if logic fails print space
}
System.out.println("");
}
}
}
/*Inverted V 13
*
* *
* *
* *
* * */
package tech.besthub;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner cs = new Scanner(System.in); //Input
System.out.println("Enter the row size:");
int out, in;
int row_size = cs.nextInt();
int print_control_x = row_size;
int print_control_y = row_size;
for (out = 1; out <= row_size; out++) {
for (in = 1; in <= row_size * 2; in++) {
if (in == print_control_x || in == print_control_y) {
System.out.print("*");
} else {
System.out.print(" ");
}
}
print_control_x--;
print_control_y++;
System.out.println();
}
cs.close();
}
}
/* V-pattern
* *
* *
* *
* *
* */
package tech.besthub;
public class Star {
static void pattern(int n) {
int i, j;
for (i = n - 1; i >= 0; i--) {
for (j = n - 1; j > i; j--) {
System.out.print(" "); //Print Space
}
System.out.print("*"); //Print star
for (j = 1; j < (i * 2); j++)
System.out.print(" ");//Print space
if (i >= 1)
System.out.print("*");
System.out.print("");//Enter newline
}
}
public static void main(String args[]) {
int n = 5;
pattern(n); //Pattern method call
}
}
/*Rombus 15
*
* *
* *
* *
* *
* *
* *
* *
* */
package tech.besthub;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
System.out.println("Number of rows: ");
int rows = extracted().nextInt();
int i;
//upper inverted V pattern
for (i = 1; i <= rows; i++) {
for (int j = rows; j > i; j--) {
System.out.print(" "); //Print spaces
}
System.out.print("*"); //Print Spaces
for (int k = 1; k < 2 * (i - 1); k++) { /Logic for pattern
System.out.print(" "); //Print Spaces
}
if (i == 1) {
System.out.println(""); //Condition true, go to newline
} else {
System.out.println("*"); //else print star
}
}
//Lower v pattern
for (i = rows - 1; i >= 1; i--) {
for (int j = rows; j > i; j--) {
System.out.print(" "); //Print Spaces
}
System.out.print("*");
for (int k = 1; k < 2 * (i - 1); k++) { Logic for pattern
System.out.print(" ");
}
if (i == 1)
System.out.println(""); //newline
else
System.out.println("*"); //Print star
}
}
private static Scanner extracted() {
return new Scanner(System.in);
}
}
/*Star Pattern 16
*
* *
* *
* *
********* */
package tech.besthub;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number of rows: ");
int rows = sc.nextInt();
for (int i = 1; i <= rows; i++) {
for (int j = i; j < rows; j++) {
System.out.print(" ");
}
for (int k = 1; k <= (2 * i - 1); k++) {
if (k == 1 || i == rows || k == (2 * i - 1)) {
//Logic for printing Pattern
System.out.print("*"); //Print Star
} else {
System.out.print(" "); //Print Spaces
}
}
System.out.println("");
}
sc.close();
}
}
/*Star Pattern 17
*********
* *
* *
* *
* */
package tech.besthub;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the number of rows: ");
int rows = sc.nextInt(); //Row input
for (int i = rows; i >= 1; i--) {
for (int j = i; j < rows; j++) {
System.out.print(" "); //Print Spaces
}
for (int k = 1; k <= (2 * i - 1); k++) {
if (k == 1 || i == rows || k == (2 * i - 1)) { //logic to print Pattern
System.out.print("*"); //Ture prints star
} else {
System.out.print(" "); //False prints spaces
}
}
System.out.println("");
}
sc.close();
}
}
/*Box 18
**********
* *
* *
* *
* *
* *
* *
* *
* *
********** */
package tech.besthub;
public class Star {
static void print_rectangle(int n, int m) {
int i, j;
for (i = 1; i <= n; i++) {
for (j = 1; j <= m; j++) {
if (i == 1 || i == n || j == 1 || j == m) //Logic to print
System.out.print("*"); //Tue?, print star
else
System.out.print(" "); //Tue?, print space
}
System.out.println();
}
}
public static void main(String args[]) {
int rows = 10, columns = 10;
print_rectangle(rows, columns); //Method call
}
}
/*
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5 */
package tech.besthub;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in); //Input
System.out.println("Number of rows: ");
int rows = sc.nextInt();
for (int i = 1; i <= rows; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + " "); //Print j value and space
}
System.out.println();
}
sc.close();
}
}
这种模式是通过打印一个数字三角形来创建的,从1开始,每行的值递增1。但是,数字是按特定顺序打印的,如下例所示:
/*Number Pattern 20 (Floyd's Triangle)
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15 */
package tech.besthub;
public class Star {
public static void main(String[] args) {
int i, j, k = 1;
for (i = 1; i <= 5; i++) {
for (j = 1; j < i + 1; j++) {
System.out.print(k++ + " "); /Floyd’s triangle logic(prints K value and increments on every iteration)
}
System.out.println();
}
}
}
它涉及到创建遵循特定数学规则的数字的三角形模式。可以使用嵌套循环创建该模式,该循环根据每个数字在三角形中的位置计算每个数字的值。
/*Number Pattern 21 (Pascal's Triangle)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1 */
package tech.besthub;
public class Star {
public static void main(String[] args) {
int x = 6;
for (int i = 0; i < x; i++) {
int num = 1;
System.out.printf("%" + (x - i) * 2 + "s", ""); //Pascals triangle logic
for (int j = 0; j <= i; j++) {
System.out.printf("%4d", num);
num = num * (i - j) / (j + 1);
}
System.out.println();
}
}
}
它是另一种类型的Java模式程序,涉及以特定的顺序或排列打印数字。这些程序可用于创建表格、图形和其他类型的可视显示。
在Java中,创建数字模式涉及使用循环来控制行数和列数以及打印的数字值。该程序可以定制以创建模式,包括乘法表,斐波那契序列和更复杂的设计。
/*Number Pattern 22
10101
01010
10101
01010
10101 */
package tech.besthub;
import java.util.Scanner;
public class Star {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Number of rows: ");
int rows = sc.nextInt(); //Input
for (int i = 1; i <= rows; i++) {
int num;
if (i % 2 == 0) {
num = 0;
for (int j = 1; j <= rows; j++) {
System.out.print(num);
num = (num == 0) ? 1 : 0;
}
} else {
num = 1;
for (int j = 1; j <= rows; j++) {
System.out.print(num);
num = (num == 0) ? 1 : 0;
}
}
System.out.println();
}
sc.close();
}
}
/*Ruby Pattern 23
A
B B
C C
D D
C C
B B
A */
package tech.besthub;
import java.util.Scanner;
public class Ruby {
public static void main(String[] args) {
char[] alpha = { 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
int digit = 0;
String[] ruby = new String[26];
System.out.print("Input Uppercase alphabet between A to Z:");
Scanner reader = new Scanner(System.in);
try {
char aplhabet = reader.next("[A-Z]").charAt(0);
for (int i = 0; i < alpha.length; i++) {
if (alpha[i] == aplhabet) {
digit = i;
break;
}
}
for (int i = 0; i <= digit; i++) {
ruby[i] = "";
for (int p = 0; p < digit - i; p++) {
ruby[i] += " ";
}
ruby[i] += alpha[i];
if (alpha[i] != 'A') {
for (int p = 0; p < 2 * i - 1; p++) {
ruby[i] += " ";
}
ruby[i] += alpha[i];
}
System.out.println(ruby[i]);
}
for (int i = digit - 1; i >= 0; i--) {
System.out.println(ruby[i]);
}
} catch (Exception e) { //Exception
e.printStackTrace();
} finally {
reader.close();
}
}
}
/*Alphabet Pattern 24
A
A B
A B C
A B C D
A B C D E
A B C D E F */
package tech.besthub;
public class Alphabet {
public static void main(String[] args) {
int alphabet = 65; //ASCII value of “A”
for (int i = 0; i <= 5; i++) {
for (int j = 0; j <= i; j++) {
System.out.print((char) (alphabet + j) + " "); //Logic to print Alphabet pattern
}
System.out.println();
}
}
}
/*Alphabet Pattern 25
A
A B
A B C
A B C D
A B C D E */
package tech.besthub;
public class Alphabet {
public static void main(String[] args) {
for (int i = 0; i <= 4; i++) {
int alphabet = 65; //ASCII value of “A”
for (int j = 4; j > i; j--) {
System.out.print(" "); //Print Space
}
for (int k = 0; k <= i; k++) {
System.out.print((char) (alphabet + k) + " "); //Print Alphabet
}
System.out.println();
}
}
}
一个人走的很快,一群人走的更远。