首页 > 解决方案 > 将数组中的负数转换为正数 Java

问题描述

我知道有人提出并回答了类似的问题,但我的代码仍然无法正常工作,我想向您寻求帮助。

在我的 Java 代码中,我想创建一个将数组的所有负整数转换为正整数的方法。

main方法中,然后我想创建一个数组,用整数填充它并调用上面创建的方法。

编译器对我的代码没有问题,但输出仍然充满负数。我做错了什么?

在我的代码下方(中的单词German,对那些不明白的人感到抱歉):

public class BetragAnwendung {
    public int[] bildeBetrag(int[] werte) {
        for (int i : werte) {
            Math.abs(i);
        }
        return werte;
    }

    public static void main(String[] args) {
        BetragAnwendung betragAnwendung = new BetragAnwendung();
        int[] array = { 1, -2, -42 };
        int[] positiveArray = betragAnwendung.bildeBetrag(array);
        for (int i = 0; i < array.length; i++) {
            System.out.println(positiveArray[i]);
        }
    }
}

输出是:

1
-2
-42

提前致谢!

标签: javaarraysmathinteger

解决方案


Math.abs接收一个数字并返回其绝对值 - 您当前忽略的返回值。您需要将其分配回数组:

public int[] bildeBetrag(int[] werte) {
    for (int i = 0; i < werte.length; ++i) { // Note we're iterating the array's indexes!
        werte[i] = Math.abs(werte[i]);
    }

    return werte;
}

推荐阅读