java用二维数组打印星号正三角形
时间: 2024-10-08 14:09:35 浏览: 35
在Java中,我们可以使用二维数组来打印出星号构成的正三角形。以下是一个简单的例子:
```java
public class Main {
public static void main(String[] args) {
int rows = 5; // 正三角形的行数
printTriangle(rows);
}
public static void printTriangle(int size) {
// 创建一个大小为rows * (rows + 1) / 2 的二维数组
char[][] triangle = new char[size][size*(size+1)/2];
// 使用嵌套循环填充星号
for (int i = 0; i < size; i++) {
for (int j = 0; j <= i; j++) {
triangle[i][j] = '*';
}
System.out.println(triangle[i]);
}
}
}
```
这个程序会打印出如下的5行星号正三角形:
```
*
**
***
****
*****
```
相关问题
用JAVA数组打印等腰三角形
在Java中,你可以使用二维数组或一维数组结合循环来打印等腰三角形。这里是一个简单的例子,使用一维数组来演示如何打印一个基础的等腰三角形:
```java
public class Main {
public static void main(String[] args) {
int n = 5; // 三角形的行数
printTriangle(n);
}
public static void printTriangle(int rows) {
for (int i = 1; i <= rows; i++) {
// 打印空格
for (int j = rows - i; j > 0; j--) {
System.out.print(" ");
}
// 打印星号
for (int k = 1; k <= 2 * i - 1; k++) {
System.out.print("*");
}
// 换行
System.out.println();
}
// 为了美观,可以打印最后一行多余的空格
for (int l = rows - 1; l >= 0; l--) {
System.out.print(" ");
}
}
}
```
在这个例子中,`printTriangle`函数接受行数作为参数,外层循环控制每一行的开始,内层循环分别用于打印左侧的空格和右侧的星号。每增加一行,星号的数量就会相应增加。
用java实现杨辉三角形等腰三角形打印星号
### Java 实现杨辉三角形
在Java中实现杨辉三角形可以通过二维数组来存储每一层的数据,并通过循环结构构建和打印这个图形。
```java
public class YangHuiTriangle {
public static void main(String[] args) {
int numRows = 10;
int[][] triangle = new int[numRows][];
for (int i = 0; i < numRows; ++i) {
triangle[i] = new int[i + 1];
triangle[i][0] = triangle[i][i] = 1;
for (int j = 1; j < i; ++j) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
// Print the current row of Pascal's Triangle
for(int k=0;k<numRows-i-1;++k){
System.out.print(" ");
}
for (int num : triangle[i]) {
System.out.print(num + " ");
}
System.out.println();
}
}
}
```
这段代码创建了一个`numRows`行的杨辉三角形并将其逐行打印出来,其中包含了必要的空格以保持形状美观[^1]。
### 使用Java绘制等腰三角形星号图案
对于等腰三角形而言,则不需要复杂的计算逻辑,只需要控制好每行输出字符的数量即可形成想要的效果。
```java
public class IsoscelesStarPattern {
public static void main(String[] args) {
int height = 7;
for (int i = 0; i < height; ++i) {
// Print spaces to align stars properly.
for (int space = 0; space < height - i - 1; ++space) {
System.out.print(" ");
}
// Print stars '*'.
for (int star = 0; star <= i * 2; ++star) {
if(star % 2 == 0)
System.out.print("*");
else
System.out.print(" ");
}
System.out.println();
}
}
}
```
此程序定义了高度为`height`的等腰三角形,利用两个嵌套循环分别处理前导空白区域与实际要显示的星号位置关系,从而达到视觉上的中心对称效果[^2]。
阅读全文