gpt4 book ai didi

java - 在 Java 中使用数字和 (*) 绘制图案

转载 作者:行者123 更新时间:2023-12-02 08:39:10 25 4
gpt4 key购买 nike


我正在尝试使用 Java 编写一个程序,该程序根据输入(整数)(n = 5)(输出)以下模式:

0********1
23******45
678****901
2345678901

正如您所注意到的:

  • input(3) 代表 3 行
  • 单行数字 (n * 2)
  • 数字应从 0 到 9 开始,然后重复直到图案完全完成
  • 第一行只能有 2 个数字(从 0 开始,到 1 结束)
  • (*) 位于两者之间
  • 下一行应有 4 个数字(从 23 开始,到 45 结束),依此类推

这个程序怎么写?

这是我的代码:

import java.util.Scanner;

public class b_test_2 {
public static void main (String arug[]) {

String star = "*";
int star_count, digit = 0;

Scanner sc = new Scanner(System.in);
System.out.print("Please type a number (int)");
int n = sc.nextInt();

while (n != 0){
star_count = n * 2 - 2;
for (int i=0; i<n; i++) {
System.out.print(star);
i = i + 1;
}
String stars = star;
n = n - 1;

for (int i2=0; i2<n; i2++) {
System.out.print(star);
i2 = i2 + 1;
int x = 0;
x = digit;
x = x + 1;
if (x == 10){
x = 0;
System.out.print(digit + stars + digit);
}
}


}

}

}

最佳答案

您的代码中缺少任何部分,但您似乎也使其变得比实际情况更复杂。

为了说明这一点,并希望帮助您朝着正确的方向前进,这里有一个紧凑的代码。除非您完全理解其工作原理,否则请勿提交此代码。

static void printPattern(int n) {
for (int row = 1, digit = 0; row <= n; row++) {
for (int i = 0; i < row; i++, digit = (digit + 1) % 10)
System.out.print(digit);
for (int i = (n - row) * 2; i > 0; i--)
System.out.print('*');
for (int i = 0; i < row; i++, digit = (digit + 1) % 10)
System.out.print(digit);
System.out.println();
}
}

测试

printPattern(4);

输出

0******1
23****45
678**901
23456789

如果你还没学过,% 运算符计算除法后的余数

关于java - 在 Java 中使用数字和 (*) 绘制图案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61494066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com