如何从方法返回数组并在Java中的另一个方法中使用它

时间:2016-04-10 18:14:14

标签: java arrays return-value

我创建了一个由三个整数组成的数组,我要求输入给用户,然后我返回该数组并实例化该类,但我无法访问数组项:

import java.util.Scanner;

public class Input {
    public static int[] getInput() {
        Scanner sc = new Scanner (System.in);
        int choice[] = new int[3];
        System.out.println("Type the options: ");
        System.out.println("Plate: ");
        choice[0] = sc.nextInt();
        System.out.println("Dessert: ");
        choice[1] = sc.nextInt();
        System.out.println("Drink: ");
        choice[2] = sc.nextInt();
        return choice;
      }
}

主要课程:

public class Main
{
    public static void main (String [] args) {

        Menu menu = new Menu();
        Input input = new Input();

        menu.ShowMenu();
        Input.getInput();


        //I want to compare choice[0] here
       if (input.getInput() == 1) {
            //code block
           }

我是否需要为这三种选择编写方法?我只想传递三个用户输入,以便在Main类中使用,如果不是这样的话。

4 个答案:

答案 0 :(得分:1)

将返回值保存在变量中。

int[] choices = Input.getInput();

if (choices[0] == 1) {
    ...
}

答案 1 :(得分:1)

而不是Input.getInput(),请写int[] arr=Input.getInput()。您必须将Method的结果存储在变量中。

您可以使用arr [index]访问元素,索引从0开始,例如a[0]

答案 2 :(得分:1)

int[] inputs = Input.getInput();

if (inputs[0] == 1) { ... }

答案 3 :(得分:1)

这是一个数组而且是静态的...所以你可以保存这个声明:

 Input input = new Input();

你必须这样做:

if (Input.getInput()[0] == 1) {
       //code block
}