簡體   English   中英

在方法之間傳遞數組

[英]Passing arrays between methods

我在方法之間傳遞數組時遇到困難,我設法將它們從boolean全部設置為 false,並將數組返回到 main。 但是從那里我不知道如何將它傳遞給另一個方法,然后將boolean真數組顯示為“是”或將boolean假數組顯示為“否”。 我的代碼如下所示:

import javax.swing.*;
class methodarrays
{
    public static void main (String[]param)
    {
        arrays();
        seen(); 
        display();
    }

    public static boolean[] arrays()
    {
        boolean [] birds = new boolean [5];
        for (int i=0;i<birds.length;i++)
        {
            birds[i]=false;
        }
        return birds;
    }
    public static boolean seen()
    {
        String quit = "100";
        String ans = "";
        while(!ans.eqauls(quit))
        {
            ans=JOptionPane.showInputDialog(null,"Which bird are you reporting? \n   1) Blue Tit   2) Blackbird   3)Robin   4)Wren   5)Greenfinch");
            if (ans.equals("1"))
            {
                birds[0] = true;
                return birds[0];
            }
            else if (ans.equals("2"))
            {   birds[1] = true;
                return birds[1];
            }
            else if (ans.equals("3"))
            {
                birds[2] = true;
                return birds[2];
            }
            else if (ans.equals("3"))
            {
                birds[2] = true;
                return birds[2];
            }
            else if (ans.equals("4"))
            {
                birds[3] = true;
                return birds[3];
            }
            else if (ans.equals("5"))
            {
                birds[4] = true;
                return birds[4];
            }
        }
    }

    public static void display()
    {
        JOptionPane.showMessageDialog(null,"Your Garden Watch results are:");
    }

}

為了讓您入門……您可以將arrays方法的結果設置為main方法中的局部變量,並將其作為參數傳遞給seen 然后你可以對display方法做同樣的事情。

    public static void main (String[]param)
    {   
        boolean[] birds = arrays();
        seen(birds); 
        display(birds);
    }

    public static boolean[] arrays()
    {
    ...
    }
    public static boolean seen(boolean[] birds)
    {
    ...

網上有很多關於這種事情的教程。 是一個例子。

您需要將其作為參數傳遞或聲明一個全局數組。

  1. 通過參數傳遞:

類方法數組{

public static void main (String[]param)
{
    boolean [] myArray =arrays();
    seen(myArray); 
    display(myArray);
}

public static boolean seen(boolean [] myArrayParam)
{
   for (int i=0;i<myArrayParam.length;i++)
   {...}
}

public static boolean display(boolean [] myArrayParam)
{
   for (int i=0;i<myArrayParam.length;i++)
   {...}
}

}

  1. 作為全局數組:

類方法數組{

   boolean [] myArray

public static void main (String[]param)
{
    myArray = arrays();
    seen(); 
    display();
}

public static boolean seen()
{
   for (int i=0;i<myArray.length;i++)
   {...}
}

public static boolean display()
{
   for (int i=0;i<myArray.length;i++)
   {...}
}

}

宣布

boolean [] birds = new boolean [5];

作為類中所有方法的可訪問對象。

import javax.swing.*;

class methodarrays
{   

    private boolean [] birds = new boolean [5]

    ...

    public static boolean[] arrays()
    {
        for (int i=0;i<birds.length;i++)
        {birds[i]=false;
        }
        return birds;
    }

    ...
}

這是模仿您自己的實現:

導入 javax.swing.JOptionPane;

公共類示例 { 私有靜態布爾 [] 鳥 = 新布爾 [5];

   public static void main (String[]param){ 
       arrays();
       seen(); 
       display();
   }

   public static boolean[] arrays()
   {   
       // Completely unnecessary since values are set to false by default;
       for (int i=0;i<birds.length;i++)
       {birds[i]=false;
       }
       return birds;
   }
   public static void seen(){   
       String quit = "100";
       String ans = "";
       while(!ans.equals(quit))
       {
           ans=JOptionPane.showInputDialog(null,"Which bird are you reporting? \n   1) Blue Tit   2) Blackbird   3)Robin   4)Wren   5)Greenfinch");
           if (ans.equals("1"))
           {   birds[0] = true;
           }
           else if (ans.equals("2"))
           {   birds[1] = true;
           }
           else if (ans.equals("3"))
           {   birds[2] = true;
           }
           else if (ans.equals("3"))
           {   birds[2] = true;
           }
           else if (ans.equals("4"))
           {   birds[3] = true;
           }
           else if (ans.equals("5"))
           {   birds[4] = true;
           }
       }
   }

   public static void display(){
       System.out.println("Your results are: ");
       System.out.println("Blue Tit: " + birds[0]);
       System.out.println("Blackbird: " + birds[1]);
       //and so on..
   }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM