gpt4 book ai didi

java - 使用带有用户输入的 java for 循环来制作自定义钻石

转载 作者:行者123 更新时间:2023-11-30 10:37:25 24 4
gpt4 key购买 nike

我希望制作这样的钻石:

n=2

 *
*$*
*

n=3

    *
*$*
*$*$*
*$*
*

n=4

    *
*$*
*$*$*
*$*$*$*
*$*$*
*$*
*

我可以用 * 得到钻石,但不知道如何在组合中添加 $

我的代码如下:

import java.util.Scanner;

public class ForNestedDemo
{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Please input number of lines:");
int i = 0, j, k, n;
n = scan.nextInt();

for (k = 1; k <= (n + 1) / 2; k++) {
for (i = 0; i < n - k; i++) {
System.out.print(" ");
}
for (j = 0; j < k; j++) {
System.out.print("*$ ");
}
System.out.println("");
}

for (k = ((n + 1) / 2); k < n; k++) {
for (i = 1; i < k; i++) {
System.out.print(" ");
}
for (j = 0; j < n - k; j++) {
System.out.print(" *");
}
System.out.println("");
}

scan.close();
}
}

最佳答案

我同意@GhostCat 是最简单的方法,但为了好玩,我用你的方法弄明白了。

for (k = 1; k < (n + 1); k++) {
for (i = 0; i < n - k; i++) {
System.out.print(" ");
}
for (j = 0; j < k; j++) {
if(j == 0)
if(k == n+1)
System.out.print("*");
else
System.out.print(" *");
else{
System.out.print("$*");
}
}
System.out.println("");
}

for (k = 1; k < n; k++) {
for (i = 0; i < k; i++) {
System.out.print(" ");
}
for (j = 0; j < n - k; j++) {
if(j == 0)
if(k == n+1)
System.out.print("*");
else
System.out.print(" *");
else{
System.out.print("$*");
}
}
System.out.println("");
}

我已经修复了您的一些错误并在其中添加了一些检查。

我的逻辑是:

  1. 如果你是第一个字符,你是不是中间一行(k == n+1),如果是,只打印*,否则打印 _*.
  2. 如果你不是第一个字符,打印$*

之后,我只是简单地把我的逻辑粘贴到你的下半部分循环中。

关于java - 使用带有用户输入的 java for 循环来制作自定义钻石,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40140379/

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