首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >高尔夫返回输出逻辑问题

高尔夫返回输出逻辑问题
EN

Stack Overflow用户
提问于 2020-10-05 22:19:52
回答 2查看 3.8K关注 0票数 0

嘿,伙计们,我正试图为一个java类做一个HW问题,我在理解逻辑上遇到了一些困难。这就是他们问我的问题:

高尔夫球得分记录球在洞内击球的次数。预计杆数因洞而异,称为标准杆(即3、4或5杆)。每个分数都有一个可爱的名字,根据实际采取的笔画相比,标准杆。如果杆数低于标准杆两杆,则返回“鹰”。如果杆数比标准杆低一杆,还回“小鸟”。返回“标准杆”,如果标准杆与划线完全匹配。如果杆数超过标准杆数,则返回"Bogey“。返回“错误”,如果par不是3,4或5。

这是我的密码:

代码语言:javascript
运行
复制
public class Main {
   
   public String golfScore(int par, int strokes){
      
      if(strokes <= par - 2){
         return "Eagle";
      }
      else if(strokes <= par -1){
         return "Birdie";
      }
      else if(strokes == par){
         return "Par";
      }
      else if(strokes > par + 1){
         return "Bogey";
      }
      else{
         return "Error";
      }
   }
   
   // this method not used but needed for testing
   public static void main(String[] args) {
   }
}

当我运行测试结果时,除了上次的测试外,所有的结果都是正确的。

但是这个逻辑对我来说没有意义,因为它应该使我的if语句无效。因为1>2+1是假的,所以应该输出错误。为什么我的程序输出妖怪?

EN

回答 2

Stack Overflow用户

发布于 2020-10-05 22:42:05

解决了!多亏了ChrisForrence!

代码语言:javascript
运行
复制
if ((par != 3) && (par != 4) && (par != 5)){
     return "Error";
  }
  else if(strokes <= par - 2){
     return "Eagle";
  }
  else if(strokes <= par -1){
     return "Birdie";
  }
  else if(strokes == par){
     return "Par";
  }
  else{
     return "Bogey";
  } 

}

票数 1
EN

Stack Overflow用户

发布于 2022-10-04 22:01:33

如果有人在寻找这个问题的解决方案,但却用C++编写的话,就在这里。

代码语言:javascript
运行
复制
#include <iostream>
using namespace std;

int main() {

    int par;
    int strokes;

    cin >> par >> strokes;

    if ((par != 3) && (par != 4) && (par != 5)){
        cout << "Error" << endl;
    }
    else if (strokes == par - 2){
        cout << "Eagle" << endl;
    }
    else if (strokes == par - 1){
        cout << "Birdie" << endl;
    }
    else if (strokes == par){
        cout << "Par" << endl;
    }
    else if (strokes == par + 1){
        cout << "Bogey" << endl;
    }
    else{
        cout << "None" << endl;
    }


    return 0;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64216960

复制
相关文章

相似问题

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