使用Parrallel数组和用户输入

时间:2015-11-23 00:56:05

标签: java arrays jgrasp

对于我的程序,我必须创建一堆方法,但我坚持启动它。基本上是一个存储树木种类和种子数量的程序。我有一个数组中的树列表,并希望将每个树的种子数放在一个并行数组中,我觉得我采取了正确的步骤,但是没有真正得到逻辑正确。

import javax.swing.JOptionPane;

public class seedFarmer {
   public static void main(String[] args) {
         }
   public static int getNumEachTree() { 
      String[] treeTypes = {"Fir" , "Pine" , "Spruce"};
      int[] numTrees = new int[treeTypes.length];
      int numofTrees = getNumEachTree();

       for (int index = 0; index < numTrees.length; index++) {

             numTrees[index] = Integer.parseInt(JOptionPane.showInputDialog("Enter the number of seeds you want to plant for: " + treeTypes[index]));
      }
     return numTrees;
    }
  }

1 个答案:

答案 0 :(得分:0)

你的主要问题在于:

   public static int getNumEachTree() { 
      String[] treeTypes = {"Fir" , "Pine" , "Spruce"};
      int[] numTrees = new int[treeTypes.length];
      int numofTrees = getNumEachTree();                  <--HERE

你正在调用getNumEachTree()导致一个永远不会结束的递归习惯。该函数将永远不会停止调用自身,因为它没有检查是否自己调用,因此将永远循环。

你也从不使用numofTrees,为什么要用它来破解你的代码?我认为它应该是返回值?也许你打算从main调用该函数?当你应该返回一个int而不是一个int数组时,你将返回numTrees。

我不明白这段代码的目的是什么,只是一些语法指出。你的逻辑似乎没问题。