首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于流程图的Java编程

基于流程图的Java编程
EN

Stack Overflow用户
提问于 2020-08-19 15:00:03
回答 3查看 603关注 0票数 5

我是新的节目,并希望任何专家提供建议。

根据给定的流程图,我是否在正确的轨道上?

如何对代码进行改进以确保健壮性?

流程图

代码语言:javascript
复制
    // 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);

输出

代码语言:javascript
复制
**********
**********
**********
**********
EN

回答 3

Stack Overflow用户

发布于 2020-08-19 15:26:49

代码语言:javascript
复制
while (c != 12);

流程图没有这个条件。

注意if (r <= 4)语句是如何直接嵌套在do...while中的。这意味着您可以简化为单个while

代码语言:javascript
复制
while (r < = 4) {
    ...
}

类似地,c <= 10应该作为一个循环来实现,而不仅仅是一个if

流程图中并没有说要像使用System.out.println();那样启动新的行。所以从字面上看,这一行是不正确的。但是,我怀疑流程图遗漏了这个细节,并且出错了。

票数 2
EN

Stack Overflow用户

发布于 2020-08-19 15:19:47

根据所提出的算法,它的代码被认为遵循或符合准则。您的代码看起来很棒,它只是尝试以更类似于您试图复制的方式命名变量。

票数 1
EN

Stack Overflow用户

发布于 2020-08-20 06:15:36

我试着缩短编码的数字线。

代码语言:javascript
复制
    int row = 1, column = 1;
    
        while (row <= 4)
        {
          if (column <= 10) {
              System.out.print("*");
              column += 1;
          }
          else {
              row += 1;
              column = 1;
              //System.out.println();
          }
        }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63489827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档