区块链技术博客
www.b2bchain.cn

尝试获取Java函数以基于传递给它的字符串参数返回数组 – java程序员分享

本文介绍了尝试获取Java函数以基于传递给它的字符串参数返回数组 – java程序员分享,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

这就是我想要做的;我正在尝试编写一个小程序,该程序使用一个函数来获取包含基于所选部门的部门成员的数组。大约有40个部门,每个部门有1-4个成员。所以我做了这个,但是我似乎无法解析为一个变量:

从主要:

String[]names = initial(department) 

部门是传递给功能的部门的名称。在函数中,我有:

public static String[] initial (String responsibleDepartment) {      if (responsibleDepartment.equals("Accounts Receivable")) {         String[] assignInitial = {"Mike Davis", "Ben Jones", "Ann Smith"}      }      if (responsibleDepartment.equals("Customer Service")) {         String[] assignInitial = {"Mary Wexler", "Turd Ferguson"}      }     // and 38 more if statements with the rest of the departments. Finally I have:         return assignInitial;         } 

如此看来,“ assignInitial无法解析为变量”(这就是return语句的意思。)如果我尝试在第一个“ if”语句之前初始化变量,然后删除String []的初始化在第一个“ if”语句中的assignInitial旁边,然后显示“数组常量只能在初始化程序中使用”。我相信有更好的方法可以做到这一点,但是我似乎无法在网上找到任何进展。有没有人?

非常感谢!
-蒙克

参考方案

问题在于您要在String[] assignInitial语句中声明每个if,因此该变量的作用域是if语句的局部范围。在if语句之外,未声明该变量。

要解决此问题,请将声明从if范围拉出,并放入方法范围。您必须在每个数组前面添加new String[],因为数组常量只能在初始化程序中使用。

public static String[] initial (String responsibleDepartment) {  String[] assignInitial = null;  if (responsibleDepartment.equals("Accounts Receivable")) {     // Note the new String[] below     assignInitial = new String[] {"Mike Davis", "Ben Jones", "Ann Smith"};  }  if (responsibleDepartment.equals("Customer Service")) {     assignInitial = new String[] {"Mary Wexler", "Turd Ferguson"};  }  // Other if statements here  return assignInitial; 

请注意,除了这一系列的assignInitial语句以外,还有其他更简便的方法可以找到if的值。例如,您可以构建switch语句或Map<String, String>

我有一个字符串4.9.14_05_29_16_21,我只需要获取4.9。数字各不相同,所以我不能简单地获得此char数组的前三个元素。我必须找到最正确的.并将其子字符串化直到那里。我来自Python,因此我将展示Python的实现方法。def foobar(some_string): location = some_string.rfind('.&…

我在理解这一点上遇到了问题。当我们做 List<Integer> list = Arrays.asList(array); 我们不能在该列表上使用添加,删除之类的方法。我知道Arrays.asList()返回固定大小的列表。我不明白的是,如果我们创建一个具有指定初始容量的列表,例如List<Integer> list2 = new A…

private static Coordinate[] getCircleCoordintaes() { Coordinate coordinates[] = {new Coordinate(0, 0)}; return coordinates; } 以上程序工作正常。在上面的程序中,返回的坐标数组首先初始化了数组使用这条线Coordinate coordi…

我正在查看一些使用双精度变量来存储(360-359.9998779296875)结果为0.0001220703125的代码。 double变量将其存储为-1.220703125E-4。当我使用BigDecimal时,其存储为0.0001220703125。为什么将它双重存储为-1.220703125E-4? 参考方案 我不会在这里提及精度问题,而只会提及数字…

有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 尝试获取Java函数以基于传递给它的字符串参数返回数组 – java程序员分享
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们