我是新的节目,并希望任何专家提供建议。
根据给定的流程图,我是否在正确的轨道上?
如何对代码进行改进以确保健壮性?
流程图

码
// r is row, c is column
int r = 1, c = 1;
do {
if (r <= 4)
{
if (c <= 10)
{
System.out.print("*");
c += 1;
}
else {
r += 1;
c = 1;
System.out.println();
}
}
else {
System.exit(1);
}
}while (c != 12);输出
**********
**********
**********
**********发布于 2020-08-19 15:26:49
while (c != 12);流程图没有这个条件。
注意if (r <= 4)语句是如何直接嵌套在do...while中的。这意味着您可以简化为单个while。
while (r < = 4) {
...
}类似地,c <= 10应该作为一个循环来实现,而不仅仅是一个if。
流程图中并没有说要像使用System.out.println();那样启动新的行。所以从字面上看,这一行是不正确的。但是,我怀疑流程图遗漏了这个细节,并且出错了。
发布于 2020-08-19 15:19:47
根据所提出的算法,它的代码被认为遵循或符合准则。您的代码看起来很棒,它只是尝试以更类似于您试图复制的方式命名变量。
发布于 2020-08-20 06:15:36
我试着缩短编码的数字线。
int row = 1, column = 1;
while (row <= 4)
{
if (column <= 10) {
System.out.print("*");
column += 1;
}
else {
row += 1;
column = 1;
//System.out.println();
}
}https://stackoverflow.com/questions/63489827
复制相似问题