我正在尝试在java中打印数组,并且需要同时使用public void intArray()作为方法

时间:2019-04-30 12:55:54

标签: java arrays

我需要在仍然使用String []和public void intArray的情况下打印值

我尝试过移动东西并使用set和get方法,但是它们不起作用

index.html

我希望得到打印出来的东西(num长度,第3个索引和元素),但是它们不打印。我需要使用intArray()至少存储int [] num = {32,26,19,40};和num [3] = 57;

2 个答案:

答案 0 :(得分:4)

我的猜测是您正在尝试实现以下目标:

public class MainClass {

  public static int[] intArray() {
    //create an int array called num that will store 4 elements
    int[] num = {32,26,19,40};
    //assign 32 to index 0
    //assign 26 to index 1
    //assign 19 to index 2
    //assign 40 to index 3
    //change index 3 to 57
    num[3] = 57;
    return num;
  }
  //write a line of code to print length of array:  Length of array of :
  public static void main(String[]args) {
    int[] num = intArray();

    System.out.println("The length of the array is " + num.length);
    //write a line of code to print index 3:  Index 3 is :
    System.out.println("Index three is " + num[3]);
    //create a for loop to loop through and print all elements in the array
    for(int element: num) {
      System.out.println(element);
    }
  }
}

int[] num是不可见的,因为它在intArray()方法中是本地的。为了从intArray()调用static void mainintArray()应该和main一样是静态的,或者应该通过创建MainClass的新实例来调用:int[] num = new MainClass().intArray();

答案 1 :(得分:2)

num变量的作用域位于intArray()方法内部,因此在您的main方法中不可见。您可以更改intArray方法的签名以返回创建的数组:

public static int[] intArray()
{
    //create an int array called num that will store 4 elements
    int[] num = {32,26,19,40};
    num[3] = 57;
    return num;
}

我也将intArrray更改为静态,因此可以在main内部调用它。 在您的main中,您可以通过调用intArray并将结果存储在main中可见的变量中来

public static void main(String[] args)
{
    int[] mainNum=intArray();
    // now you can check the size or index 3 using this mainNum variable
}

我使用了不同的名称mainNum,所以很清楚num和mainNum的范围是什么。