我想在设置行数和梯形的底部宽度后输出一个梯形。目前,它在某些情况下有效,但在其他情况下不起作用在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.这是问题。 –