我正在尝试找到一种方法来打印数组的内容,同时使用for循环。这是java中一个相当新的部分,因为我是初学者。对于我的问题,任何帮助都是值得赞赏的。我的问题是我会移动"随机"评估员方法进入mutator方法或我只是完全错误,必须做其他事情。
import java.util.Random;
public class ArrayPractice {
private int[] arr;
private final int MAX_ARRAY_SIZE = 300;
private final int MAX_VALUE = 100;
public ArrayPractice() {
// initialize array
arr = new int[MAX_ARRAY_SIZE];
// randomly fill array with numbers
Random rand = new Random(1234567890);
for (int i = 0; i < MAX_ARRAY_SIZE; ++i) {
arr[i] = rand.nextInt(MAX_VALUE) + 1;
}
}
public void printArray( ) {
}
public static void main(String[] args) {
ArrayPractice ap = new ArrayPractice();
System.out.println("The contents of my array are: ");
ap.printArray();
System.out.println("");
}
}
答案 0 :(得分:1)
我的问题是我会将“随机”评估员方法移入 mutator方法还是我完全错了,必须做点什么 其他
你不必。只需使用循环迭代已经填充在构造函数中的数组。
public void printArray( ) {
for (int i = 0; i < MAX_ARRAY_SIZE; ++i) {
System.out.println(arr[i]);
}
}
顺便说一句,使用Java 8,您可以编写更少的代码行来实现相同的结果:
Arrays.stream(arr).forEach(System.out::println);
答案 1 :(得分:0)
public void printArray() {
//Print array
System.out.println(Arrays.toString(arr));
//another method with for loop
for (int i = 0; i < arr.length; i++)
{
System.out.println(arr[i])
}
}
请注意,还有很多其他技术
答案 2 :(得分:0)
在编写干净的代码方面,将这段代码移到类中自己的私有方法中并在构造函数中调用它可能会很好。
public ArrayPractice() {
// initialize array
arr = new int[MAX_ARRAY_SIZE];
populateArray();
}
private void populateArray() {
// randomly fill array with numbers
Random rand = new Random(1234567890);
for (int i = 0; i < MAX_ARRAY_SIZE; ++i) {
arr[i] = rand.nextInt(MAX_VALUE) + 1;
}
}
然后在printArray()方法中,您可以遍历数组并为每个项目调用System.out.println()。
public void printArray( ) {
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
如果您来自更具功能性的背景,我可以向您展示如何使用Java 8 lambdas在功能上更好地编写它。让我知道。