gpt4 book ai didi

java - 嵌套 For 循环说明

转载 作者:行者123 更新时间:2023-12-04 13:24:20 25 4
gpt4 key购买 nike

用java编写的代码
我试图在同一行上打印用户输入的“*”数量。
这是我所拥有的:

if (((input / 2) + 1) == ir) {
for (int ij = 1 ; ij <= input; ij++) {
System.out.print("*");
}
}
如果 语句正在测试我们是否处于我要制作的形状(领结)的中间点。
我觉得我的逻辑和代码是正确的,但是对于 5 的输入,
这一行看起来像这样:***
代替: *****
有人可以向我解释为什么会这样吗?
这是完整的代码:
import java.util.Scanner;

public class BowTie {
public static void main(String [] args) {
Scanner scnr = new Scanner(System.in);
int input = scnr.nextInt();

int stars = 1;
int spaces = input - 2;
if ((input % 2 == 1) && (input >= 1)) {
for (int ir = 1; ir <= input; ir++) {
for (int ic = 1; ic <= stars; ic++) {
System.out.print("*");
}
for (int ic = 1; ic <= spaces; ic++) {
if (((input / 2) + 1) == ir) {
for (int ij = 1; ij <= input; ij++) {
System.out.print("*");
}
} else {
System.out.print(" ");
}
}
if (((input + 1) / 2) != ir) {
for (int ic = 1; ic <= stars; ic++) {
System.out.print("*");
}
}
if ((input / 2) < ir) {
stars--;
spaces += 2;
} else {
stars++;
spaces -= 2;
}
System.out.println();
}
} else {
return;
}
scnr.close();
}
}

最佳答案

您在 if (((input + 1) / 2) != ir) 上缺少 else 条件如下:

import java.util.Scanner;

public class BowTie {
public static void main(String [] args) {
Scanner scnr = new Scanner(System.in);
int input = scnr.nextInt();

int stars = 1;
int spaces = input - 2;
if ((input % 2 == 1) && (input >= 1)) {
for (int ir = 1; ir <= input; ir++) {
for (int ic = 1; ic <= stars; ic++) {
System.out.print("*");
}
for (int ic = 1; ic <= spaces; ic++) {
if (((input / 2) + 1) == ir) {
for (int ij = 1; ij <= input; ij++) {
System.out.print("*");
}
} else {
System.out.print(" ");
}
}
if (((input + 1) / 2) != ir) {
for (int ic = 1; ic <= stars; ic++) {
System.out.print("*");
}
// Added else
} else {
for (int ic = 1; ic <= (input - ir); ic++) {
System.out.print("*");
}
}
if ((input / 2) < ir) {
stars--;
spaces += 2;
} else {
stars++;
spaces -= 2;
}
System.out.println();
}
} else {
return;
}
scnr.close();
}
}

然而,您的代码有点难以阅读和理解。您可能需要对其进行一些重构。

关于java - 嵌套 For 循环说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69443604/

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