java - 无法将数组传递到方法中

标签 java arrays

为什么我无法将 appleArray、blueberryArray 和花生数组发送到 calcTotalPies 方法?

 final int MAX_PIES = 81;
 final int MAX_PER_TYPE = 27;

 String typeOfPie = getPieType();
 while (!typeOfPie.equalsIgnoreCase("q")) {
     if (typeOfPie.equalsIgnoreCase("apple")) {
         String[] appleArray = fillApple(typeOfPie, MAX_PER_TYPE);
     }
     else if (typeOfPie.equalsIgnoreCase("blueberry")) {
         String[] blueberryArray = fillBlueberry(typeOfPie, MAX_PER_TYPE);
     }
     else if (typeOfPie.equalsIgnoreCase("peanut")) {
         String[] peanutArray = fillPeanut(typeOfPie, MAX_PER_TYPE);
     }
     typeOfPie = getPieType();
}

if (typeOfPie.equalsIgnoreCase("q")) {
      int totalPies = calcTotalPies(appleArray, blueberryArray, peanutArray);
}

最佳答案

局部变量始终在 block 内声明,并且仅在该 block 中有效(注意:方法体或 if 或循环的主体也是 block )。

您仅在其周围的 if block 中声明了 appleArrayblueberryArraypeanutArray,因此它们不是存在于最低的 if block 中。编译器应该告诉您一些未定义的数组。

关于java - 无法将数组传递到方法中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31349059/

相关文章:

java - 将用户输入字符串转换为大写 Java

java - JSOUP:HTML 符号 ¡ 的问题

javascript - 获取 JavaScript 对象键列表卷。 2个

java - 如何获取字符串数组中字符的索引位置

python - 从 python 列表中删除一个项目,如何比较项目(例如 numpy 数组)?

java - java中如何在后台运行一个进程?

java - 如何将节点添加到不是主要父对象 (javafx) 的对象?

java - 递归返回链表中的元素数量

java - java中如何交换两个数组对象

javascript - 检查一个字符在字符串中出现了多少次