对于这段代码,我必须:创建一个方法,询问第二个数组的维度,用循环声明和初始化第二个数组,用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);
}
}
我不知道如何将它放入单独的方法中,也不知道如何使相同的随机数为负数。有人请帮忙吗?
答案 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;
}
这有帮助吗?