将数组中的所有元素乘以外部数字?

pro*_*odo 3 java arrays methods

我需要将数组中的所有值乘以 3000,这又会创建一个新数组,我将使用该数组从另一个数组中减去。我试图创建一个单独的方法来为我做这件事,但我在乘法数组中得到的只是一堆奇怪的数字和符号?

这是我写的代码

public static void main(String[] args)
{    
    int numberOfTaxpayers = Integer.parseInt(JOptionPane.showInputDialog("Enter how many users you would like to calculate taxes for: ");
    int[] usernumChild = new int[numberOfTaxPayers];
    for (int i = 0; i < usernumChild.length; i++)
    {
        usernumChild[i] = Integer.parseInt(JOptionPane.showInputDialog("Enter number of children for user "+ (i+1) +": "));
    }//this for loop finds out the number of children per user so we can later multiply each input by 3000 to create an array that determine dependency exemption for each user
int[] depndExemp = multiply(usernumChild, 3000);//this was the calling of the multiply method... somewhere here is the error!!
}//end main method 
public static int[] multiply(int[] children, int number)
{
    int array[] = new int[children.length];
    for( int i = 0; i < children.length; i++)
    {
       children[i] = children[i] * number;
    }//end for
    return array;
}//this is the method that I was shown in a previous post on how to create return an array in this the dependency exemption array but when I tested this by printing out the dependency array all I received were a jumble of wrong numbers.
Run Code Online (Sandbox Code Playgroud)

Tyl*_*ler 5

在您的示例中,您正在乘以您的 children 数组,但返回您的新数组。您需要将新数组乘以子数组。

1 public static int[] multiply(int[] children, int number)
2 {
3     int array[] = new int[children.length];
4     for( int i = 0; i < children.length; i++)
5     {
6         array[i] = children[i] * number;
7     }//end for
8     return array;
9 }
Run Code Online (Sandbox Code Playgroud)

你得到奇怪符号的原因是因为你返回了未初始化的值。数组本身在第 3 行分配,但此时数组的每个索引还没有初始化,所以我们并不真正知道那里有什么值。