【发布时间】:2023-03-08 00:27:01
【问题描述】:
尝试编写一个程序,根据用户输入的宽度和长度生成一种 X/螺旋图案。长度是屏幕上有多少个字符,宽度是多少个字符高。 我无法找出数学关系来实现我想要的模式。
以下是正确的示例输出:
输入您想要的长度:39
输入您想要的宽度:7
这是我目前拥有的代码及其生成的代码:
import java.util.Scanner;
public class Twisty {
public static void main(String[] args){
Scanner myScanner = new Scanner(System.in);
System.out.print("Input your desired length: ");
int length = myScanner.nextInt();
System.out.print("Input your desired width: ");
int width = myScanner.nextInt();
for(int i=0; i<width; i++) {
for(int j=0; j<length; j++) {
if(i==j || (i+j)%width==width-1 || (i+j)%width==0) {
System.out.print("#");
} else {
System.out.print(" ");
}
}
System.out.println();
}
}
}
【问题讨论】:
-
这里有一个问题:当长度 > 宽度时,你应该如何处理 X 的实际形状。因为在某些时候,您必须将多个 X 放在一起。根据长宽比的不同,可能会有很多变化。因此,您需要确定这些情况下的预期输出行为。
标签: java for-loop nested-loops