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。

Java:找到特定字符并获取子字符串 - java

我有一个字符串4.9.14_05_29_16_21,我只需要获取4.9。数字各不相同,所以我不能简单地获得此char数组的前三个元素。我必须找到最正确的.并将其子字符串化直到那里。我来自Python,因此我将展示Python的实现方法。def foobar(some_string): location = some_string.rfind('.&…Java-固定大小的列表与指定初始容量的列表之间的差异 - java

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

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值