加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

对自己学习算法,你如何在java中实现元组?

发布时间:2020-12-14 05:53:39 所属栏目:Java 来源:网络整理
导读:我正在自学算法,如果我的标题不正确,我很抱歉!我不明白如何在 Java中实现它. if x = 0: return (q,r) = (0,0) (q,r) = divide(?x/2?,y)q=2·q,r=2·rif x is odd: r=r+1 if r≥y: r=r?y,q=q+1 return (q,r) 我不知道如何在Java中实现以下部分. (q,r)=(0,0)(
我正在自学算法,如果我的标题不正确,我很抱歉!我不明白如何在 Java中实现它.
if x = 0: 
return (q,r) = (0,0) 
(q,r) = divide(?x/2?,y)
q=2·q,r=2·r
if x is odd: r=r+1 
if r≥y: r=r?y,q=q+1 
return (q,r)

我不知道如何在Java中实现以下部分.

(q,r)=(0,0)
(q,r)=divide(?x/2?,y)
return (q,r)

解决方法

尽管Java缺乏对元组的内置支持,但好消息是除了返回值之外,您不必使用元组来实现此算法.两个常规的int变量r和q都可以.
// (q,0)
int q = 0,r = 0;
// (q,y)
q = (x/2) / y;
r = (x/2) % y;

返回有点棘手,因为你必须返回两个值.在Java中使用它的惯用方法是定义一个类:

class QandR {
    private final int q;
    private final int r;
    public QandR(int q,int r) {
        this.q = q;
        this.r = r;
    }
}

现在您可以从方法中返回新的QandR(q,r).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读