java - 如何在java中打印领结?
问题描述
如果输入 N = 5 输出如何制作此模式:
* *
** **
******
** **
* *
这是我的代码
for(int i = 0; i < n + 1; i++) {
for(int j = 0; j < n + 1; j++) {
if ((j > i && j < n - i) || (j > (n-i) && j < i && i > n))
System.out.print(" ");
else
System.out.print("*");
}
System.out.println();
}
结果是这样的:
* *
** **
******
******
******
******
我该如何解决这个问题?
解决方案
您现有的尝试实际上非常接近这里是一个修复第二个条件的工作版本(在您当前的尝试中总是错误的):
class Main {
public static void main(String[] args) {
printBowtie(5);
}
private static void printBowtie(int n) {
for (int i = 0; i < n; i++) {
for (int j = 0; j < n + 1; j++) {
if ((j > i && j < n - i) || (j >= n - i && j <= i)) {
System.out.print(" ");
} else {
System.out.print("*");
}
}
System.out.println();
}
}
}
输出:
* *
** **
******
** **
* *
相关差异:
private static void printBowtie(int n) {
- for (int i = 0; i < n + 1; i++) {
+ for (int i = 0; i < n; i++) {
for (int j = 0; j < n + 1; j++) {
- if ((j > i && j < n - i) || (j > (n - i) && j < i && i > n)) {
+ if ((j > i && j < n - i) || (j >= n - i && j <= i)) {
推荐阅读
- c# - 从后面的代码更改按钮可见性失败
- php - 使用laravel php循环将变量添加到数据库
- sql - tricky WHERE clause constraint; filter by one fields value but not omit other possible values
- javascript - I cant open a popup for a specific div in while loop (Javascript PHP)
- java - 如何让我的服务播放另一张专辑中的歌曲?
- square-connect - 禁用特定行项目的订单税
- maven - elasticsearch.jar 包的版本不正确
- hex - If you know what it's mean? '%89PNG%0D%0A%1A%0A'
- c# - How to pass two or more constructors to another form?
- api - Making a case-sensitive custom Google search