我想在設置行數和梯形的底部寬度後輸出一個梯形。目前,它在某些情況下有效,但在其他情況下不起作用在Java中打印一個梯形
在這個例子中,它的工作原理
Enter height: 5
Enter width: 16
@@@@@@@@
@@@@@@@@@@
@@@@@@@@@@@@
@@@@@@@@@@@@@@
@@@@@@@@@@@@@@@@
在這其中,它不
Enter height: 5
Enter width: 14
@@@@@@@
@@@@@@@@@
@@@@@@@@@@@
@@@@@@@@@@@@@
@@@@@@@@@@@@@@@
我在做什麼錯?這是我的代碼:
public void printTrapezoid(Scanner sc)
{
int width;
int rows;
System.out.print("Enter height: ");
rows = sc.nextInt();
System.out.print("Enter width: ");
width = sc.nextInt();
System.out.println("");
for (int i = 0; i < rows; i++)
{
for (int j = rows - i; j > 0; j--)
{
System.out.print(" ");
}
for (int j = 0; j < (width/2) + (2 * i); j++)
{
System.out.print("@");
}
System.out.print("\n");
}
System.out.println("");
}
*「在這一個,它不」*什麼,*明確*,是錯的?當你使用內置在IDE中的調試器完成代碼時,你看到了什麼? (使用調試器是**不是**高級技術;這是每個初學者在編寫「Hello,World」後應立即學習的基本技能。) –
我建議您更換'System.out.print(「\ n」) '和'System.out.println(「」)'''System.out.println()' – mre
@TJCrowder對不起,我應該指定,底部行應該有14個符號,如寬度所指定的,但它有15個。我將它改爲這個'for(int j = 0; j <((width-1)/ 2)+(2 * i); j ++)'但這仍然行不通。我瞭解調試器,它數到15.這是問題。 –