Java Make Negative 2nd数组和方法

时间:2013-10-16 21:55:27

标签: java arrays

对于这段代码,我必须:创建一个方法,询问第二个数组的维度,用循环声明和初始化第二个数组,用1到9之间的随机数填充它。然后我创建另一个循环遍历第二个数组的方法并打印出表中的内容。然后我必须制作另一种方法,使数组中的所有数字都为负数。以下是我到目前为止的情况:

import java.util.*;
import java.math.*;
import java.util.Scanner;
/**
 * Write a description of class temp here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class temp
{
   public static void loadRandomData() {
        Scanner kb = new Scanner(System.in);
        System.out.println("How many rows? ");
        final int rowWidth = kb.nextInt();
        System.out.println("How many columns? ");
        final int colHeight = kb.nextInt();
        Random rand = new Random();
        int [][] llamas = new int [rowWidth][colHeight];
        for (int row = 0; row < llamas.length; row++) {
            for (int col = 0; col < llamas[row].length; col++) {
                llamas[row][col] = rand.nextInt(10);
            }
        }
        System.out.println("2d Array Contents: ");
        for(int i = 0; i < llamas.length; i++) {

            for(int j = 0; j < llamas[i].length; j++) {
                System.out.print(llamas[i][j] + " ");
            }
            System.out.println();
        }
        //sum of row n:
        int sum = 0;

        for (int[] row : llamas)
            for (int n : row){
                sum += n;

        }
        System.out.println("The sum is: " + sum);
    }
}

我不知道如何将它放入单独的方法中,也不知道如何使相同的随机数为负数。有人请帮忙吗?

1 个答案:

答案 0 :(得分:1)

很难从你的问题中判断出你是否想要两个具有相同内容的数组,除了一个是负数而另一个是正数,或者你想要两个不同的数组,一个是负数,一个是正数。

第一个假设您希望阵列不同:

首先,您需要制作主要方法。在里面,你会打电话给你的功能。但我会改变它以返回一些东西。例如:

int[][] positive = loadRandomData("pos");
int[][] negative = loadRandomData("neg");

在你的功能中,你将拥有:

public static void int[][] loadRandomData(String typeSTR){
    int timesNum = null;
    if (typeSTR=="pos"){
        timesNum =1;
    }else if (typeSTR == "neg"){
        timesNum = -1;
    }
    //all the code you described above, except that when you are assigning those cells in your array, multiply it by the `timesNum` so that it will be a positive array instead of a negative one.
}

第二个假设你没有:

首先,您不需要一个功能。把它弄成两个。在main()中执行类似的操作:

int[][] positive = loadRandomData();
int[][] negative = NEGloadRandomData(positive);

loadRandomData()功能很好,所以我们会保持不变。但是我们正在创建一个像这样的新函数:

private static int[][] NEGloadRandomData(int[][] original){

    //same for loop structure as before, but create a new array called NEGarray, and instead of creating a new rand when you define it, take the value of that cell in you `original` array and multiply it by `-1`.

    return NEGarray;

}

这有帮助吗?