Java如何将数组值从一种方法传递到另一种方法

标签 java arrays methods

<分区>

正如问题标题所示,我想知道如何在方法之间共享数组值。我的主要目标是这个。我有一个将用户输入存储在数组中的方法,然后该方法将基本上检查用户输入值(验证过程) 说这样的话 (请忽略语法)

public void validation()
{
 String[] accnumbers = new String[20];
  Scanner sc = new Scanner(System.in);

  System.out.print("Enter the account number:");
    accno = sc.nextLine(); 

int j;
      for (j = 0; j < accnumber.length; j++)
      if (accnumber[j] == null) break;
      if (j==accnumber.length)  
      {
            System.out.print("limited.");
      } 
      else
      { 
          accnumber[j]=accno;               
      }

}

//所以这是验证部分,正如你所看到的,现在有一个 accnumbers 数组,我想在下面的方法中分享它,它基本上搜索字符串中有效的 accnumber

public void search(String[] acnumbAry,BigDecimal[] acbalanceArray,String accnumbinput)
{
 if(Arrays.asList(acnumbAry).contains(accnumbinput))
       {
           System.out.println("The value is contained");
       }
       else
       {
           System.out.println("The value is not contained");
       }

}

//但在 Main 方法中,我有一个显示菜单,让用户可以选择验证或搜索,所以当用户选择搜索时,我不确定如何从中获取数组值(如果有的话)验证方法。

最佳答案

不要使用数组!!! Java 不是 C!

除非您正在编写一些需要超快速度的低级代码,否则请使用 Collections API。如果这是家庭作业(我怀疑是)并且您的教授告诉您使用数组,请要求教务长在他造成更多损害之前立即将他从教学中撤职!几乎在所有情况下,数组都是糟糕的选择。

在这种情况下,使用一个 List,它的大小会自动增长。无需检查大小等。然后从您的方法返回列表。您的代码将缩减为:

public List<String> validation() {
    List<String> accnumbers = new ArrayList<String>();
    Scanner sc = new Scanner(System.in);

    System.out.print("Enter account numbers (blank to finish):");
    while (true) {
        String accno = sc.nextLine(); 
        if (accno.equals("")) { // blank ends input
            return accnumbers;
        }
        accnumbers.add(accno); // will take any number of account numbers
    }
}

您甚至不需要search 方法,只需在行中使用list.contains()

关于Java如何将数组值从一种方法传递到另一种方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12038044/

相关文章:

java - BLE 扫描不能在后台使用 android pie 中的 Scanfilters 工作?

java - 使用 Nimbus 外观在 JTable 中水平滚动

java - 什么是java中的虚方法调用?

c - 为什么不能分配相同类型和大小的数组?

java - 如何重写java列表方法?

java - 实用程序类 - 静态方法与具有实用程序方法的单例实例

java - alfresco webscript 和 Java servlet 之间的区别

java - 杂交 : How to import using impex?

python - 返回多个变量 : list/tuple

c - 在c中循环整数数组时出错