java方法如何返回多个值?

有out或者ref这样的参数吗?... 有out或者ref这样的参数吗? 展开
 我来答
qwwqqwwqyear
2015-09-29 · TA获得超过228个赞
知道小有建树答主
回答量:161
采纳率:94%
帮助的人:80.5万
展开全部
static class CalculationResult {
        //和
        private double sum;
        //差
        private double discrepancy;
        //积
        private double product;
        //商
        private double quote;

        public double getSum() {
            return this.sum;
        }

        public void setSum(double sum) {
            this.sum = sum;
        }

        public double getDiscrepancy() {
            return this.discrepancy;
        }

        public void setDiscrepancy(double discrepancy) {
            this.discrepancy = discrepancy;
        }

        public double getProduct() {
            return this.product;
        }

        public void setProduct(double product) {
            this.product = product;
        }

        public double getQuote() {
            return this.quote;
        }

        public void setQuote(double quote) {
            this.quote = quote;
        }

        @Override
        public String toString() {
            return "CalculationResult{" +
                    "sum=" + sum +
                    ", discrepancy=" + discrepancy +
                    ", product=" + product +
                    ", quote=" + quote +
                    '}';
        }
    }

    /**
     * 使用对象返回
     *
     * @param numA
     * @param numB
     * @return
     */
    private static CalculationResult calcTwoNum(double numA, double numB) {
        CalculationResult result = new TestEntry.CalculationResult();
        result.setSum(numA + numB);
        result.setDiscrepancy(numA - numB);
        result.setProduct(numA * numB);
        result.setQuote(numA / numB);
        return result;
    }

    /**
     * 使用map返回
     *
     * @param numA
     * @param numB
     * @return
     */
    public static Map<String, Double> calcTwoNumMap(double numA, double numB) {
        Map<String, Double> mapRtn = new HashMap<String, Double>();
        mapRtn.put("sum", numA + numB);
        mapRtn.put("discrepancy", numA + numB);
        mapRtn.put("product", numA * numB);
        mapRtn.put("quote", numA / numB);
        return mapRtn;
    }

    public static void main(String[] args){
        //返回对象调用
        System.out.println(calcTwoNum(1, 3));
        //返回map调用
        System.out.println(calcTwoNumMap(2, 8));
    }

liang_Henry
2012-08-08 · TA获得超过145个赞
知道小有建树答主
回答量:166
采纳率:0%
帮助的人:88.8万
展开全部
不可能有多个返回值, 只有一个返回值, 你可以在方法里面调用别的方法进行传递参数
参数名字 是你自己想给什么都行, 可以是好多东西,比如说 类,接口,数组,等等
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-08-08
展开全部
你可以将自己要返回的值存在集合类中比如list,set、map等。随用随去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Green142
2015-09-20 · TA获得超过355个赞
知道小有建树答主
回答量:190
采纳率:100%
帮助的人:105万
展开全部

可以考虑使用集合,一下采用List实现:

思路:先定义个方法,把需要输出的变量保存到列表中,然后将该列表作为该方法的返回值。调用的时候用一个列表对象进行接收,然后再进行遍历。

很简单,如下:

运行结果:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e27de2f
2012-08-08 · TA获得超过952个赞
知道小有建树答主
回答量:643
采纳率:0%
帮助的人:551万
展开全部
返回多个值的话,用一个类封装以下,再返回那个类的实例
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式