gpt4 book ai didi

java - 如何测试字符串数组以查找数组中是否包含特定字符串?

转载 作者:行者123 更新时间:2023-12-01 10:21:00 25 4
gpt4 key购买 nike

到目前为止我已经有了这部分代码。它编译良好并且运行良好。但是,如果我选择插入列表中没有的排名,它仍然会打印我输入的值。

private String         Rank;  //string r
private static String[] Ranks = {"Assistant", "Associate", "Full"};

public professor(String n, int a, int s, String r, int nc, int pp)
{
super(n, a, s);
setRank(r);
setNumCo(nc);
setPubPaps(pp);
}
//mutator to set the Rank and check to make sure it is in the string list
public void setRank(String r)
{
boolean check = false;

List valid = Arrays.asList(this.Ranks);

if(valid.contains(r))
check = true;

if(check = true)
this.Rank = r;
else
this.Rank = "Associate";
}

以下是我所讨论内容的示例:

 professor p2 = new professor ("Muench", 50, 222344455, "False", 3, 45);

“False”绝对不在排名列表中,但它仍然会在我的打印窗口中打印如下假慕尼黑教授......

最佳答案

这样写会有效并且更具可读性

List valid = Arrays.asList(this.Ranks);

if(valid.contains(r))
this.Rank = r;
else
this.Rank = "Associate";

这是有效的,因为 .contains 方法返回一个 boolean 值,因此当返回值时,您基本上会得到 if(true)if(false)

关于java - 如何测试字符串数组以查找数组中是否包含特定字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35625041/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com