簡體   English   中英

遍歷數組

[英]Cycling through an array

我正在嘗試為用戶設置一種輸入方法,以便為每種樹類型輸入許多樹種子。 有三種不同的樹類型。 我只想讓用戶輸入我在此方法中創建的所有這三個方法的金額,如果他們輸入無效的條目(空字符串或字符串或數字<0),則會出現錯誤。

我的“ for”循環在這里合適嗎? 我想增加desirableYield數組和treeTypes數組的數量,以便這些值是平行的。 在程序的后面,我需要計算種子死亡所需的樹木數量。

任何建議都會有所幫助。

  import javax.swing.JOptionPane;

  public class TreeCalc{

     public static void main(String[] args){

      String[] treeTypes = new String[] {"Fir", "Pine", "Spruce"};
      int[] desiredYield = new int [treeTypes.length];
      double[] decayRate = new double[] {0.07, 0.12, 0.08};
      desiredYield[] = getYield();
      getCalculate(decayRate[], treeTypes[], desiredYield[]);
      printMessage();

  }

     //Asks user to input # of trees for each tree type
     public static int getYield(){
        int index= 0;
        do{
           for(int i=0;i<=treeTypes.length;i++){
             try{
             desiredYield[index] = Integer.parseInt(JOptionPane.showInputDialog("Please enter your desired yield for: " +treeTypes[i]));
        }catch(NumberFormatException e){
           if(desiredYield[index]==("") || desiredYield[index]<0){
              JOptionPane.showMessageDialog(null, "Error: Please enter your desired yield for "+treeTypes[i]);
          }else{
              index++
        }
       }
     }
    }while(desiredYield[index]<0 || desiredYield[index]==(""));
   }
  }
for(int i=0;i<=treeTypes.length;i++){
             try{
             desiredYield[index] = Integer.parseInt(JOptionPane.showInputDialog("Please enter your desired yield for: " +treeTypes[i]));
        }catch(NumberFormatException e){
           if(desiredYield[index]==("") || desiredYield[index]<0){
              JOptionPane.showMessageDialog(null, "Error: Please enter your desired yield for "+treeTypes[i]);
          }else{
              index++
        }
       }

您需要從for循環中刪除“ =”。

更新的代碼應為:

for(int i=0;i < treeTypes.length;i++){
             try{
             desiredYield[index] = Integer.parseInt(JOptionPane.showInputDialog("Please enter your desired yield for: " +treeTypes[i]));
        }catch(NumberFormatException e){
           if(desiredYield[index]==("") || desiredYield[index]<0){
              JOptionPane.showMessageDialog(null, "Error: Please enter your desired yield for "+treeTypes[i]);
          }else{
              index++
        }
   } 

暫無
暫無

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

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