【问题标题】:How do I return multiple variables in Java [duplicate]如何在Java中返回多个变量[重复]
【发布时间】:2017-09-21 07:24:08
【问题描述】:

我需要返回多个变量,但我对如何做到这一点感到困惑。 我只知道返回 1 个变量。

Tyear, aveannualcost, aveinv, aveorderperyear, avelostdemandperyear, avelostdemandperyear

public class inventory {

    DistDiskrit acak = new DistDiskrit();

    float inisialisasi (float Tfinal, float s, float Q, float dist_x) {
        float TT = 1, demand1;
        float cumlost = 0, Norder = 0, TOrderArrive = 0 ;
        boolean Orderplaced = false;
        float inv = 20, cuminv = inv, Cinv = (float) 0.4, Corder = 5, Cpenalty = 1;
        while(TT < Tfinal) {
            if(TT == TOrderArrive){     
                inv = inv + Q;
                Orderplaced = false;
            }
            cuminv = cuminv + inv;
            demand1 = demand(TT);
            if(demand1 > inv) {
                cumlost = (float) (cumlost + demand1 - inv);
                inv = 0;
            }                
            else {inv = inv - demand1;}
            if((inv <= s) & (!Orderplaced))  
                Orderplaced = true;
            TOrderArrive = TT + 4 + (dist_x * 3);
            Norder = Norder + 1;
            TT = TT + 1;
        }
        float Tyear = Tfinal/365;
        float aveannualcost=Cinv*(cuminv/TT)+(Corder/Tyear)*Norder+Cpenalty*(cumlost/Tyear);
        float aveinv = cuminv/TT;
        float aveorderperyear = Norder/Tyear;
        float avelostdemandperyear = cumlost/Tyear;
        return avelostdemandperyear;
    }
    float mean (int n) {
        float x[] = new float[n];
        float jumlah=0;
        for(int i=0;i<n;i++){
            jumlah = jumlah+x[i];
        }
        return jumlah/n;
    }
}

[更新部分]

那么,我的朋友告诉我添加这样的东西

   public float [] inisialisasi (float Tfinal, float s, float Q, float dist_x){
.
.
.    
    float rtrn []= {Tyear,aveannualcost, aveorderperyear, avelostdemandperyear};
            return rtrn;
}

我得到了这个——[F@d93b30

【问题讨论】:

  • 创建一个包含所需数据的类并返回该类的实例
  • 你不能。将它们包装在一个对象中
  • 或者您可以将它们放在地图中并返回:)

标签: java return


【解决方案1】:

Java 方法只能返回一个东西。然而,那个东西可以是标量或对象。所以你可以创建一个类来保存你的计算变量并返回它。

例如:

class Example {
    float Tyear;
    float aveannualcost;
    float aveinv;
    float aveorderperyear;
    float avelostdemandperyear;
}

您需要使用构造函数和/或访问器方法来充实它。

【讨论】:

  • 这应该是一条评论
  • @ScaryWombat 为什么应该是评论?那里的协议是什么?
  • 好的,现在不再只是评论 ;-)
  • 如果所有数据类型都相同,那么只返回一个数组比返回一个包装对象更有效。在某些情况下,将不同类型的数据作为字符串传递而不是使用包装对象也是可行的
猜你喜欢
  • 1970-01-01
  • 2021-01-29
  • 2022-01-05
  • 2017-10-03
  • 2014-11-22
  • 2022-01-06
  • 2019-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多