gpt4 book ai didi

java - java-ee中if语句的逻辑问题

转载 作者:行者123 更新时间:2023-12-01 14:27:52 26 4
gpt4 key购买 nike

我对“如果”有一个逻辑问题。我必须参数、一个文本框和一个选择。两者都是插入类别,但选择是从数据库生成的,允许用户快速选择类别。如果该文本框不为空并且选择为空,我想插入文本框的类别。如果相反,则使用选择值。如果两者都是选择(文本框中的文本+选择中的选择),则选择选择值。如果两者都为空,我将定义一个默认值“其他”。

这是代码:

//addRss.jsp

<select name="catOption">
<option value="">select category</option>
<c:forEach var="cat" items="${categories}">
<option value="${cat}">${cat}</option>
</select>
<label for="category">Category</label>
<input type="text" id="category" name="category" value="" size="20" maxlength="20" />


//AddNewRss

String catText = request.getParameter("category");
String catOption = request.getParameter("catOption");
String category = "";

if((catOption != null || !catOption.trim().isEmpty()) && (catText == null || catText.trim().isEmpty()))
category = catOption;
else if((catOption == null || catOption.trim().isEmpty()) && (catText != null || !catText.trim().isEmpty()))
category = catText;
else if((catOption != null || !catOption.trim().isEmpty()) && (catText != null || !catText.trim().isEmpty()))
category = catOption;
else
category = "Other";

我的问题是,在两者都为空的情况下,程序将执行第一个“if”并发送一个空类别。

你发现有什么问题吗?

谢谢

杰里米。

PS:抱歉英语不是我的主要语言。

最佳答案

if((catOption != null && !catOption.trim().isEmpty()) 
&& (catText == null || catText.trim().isEmpty())) {
category = catOption;
}
else if((catOption == null || catOption.trim().isEmpty())
&& (catText != null && !catText.trim().isEmpty())) {
category = catText;
}
else if((catOption != null && !catOption.trim().isEmpty()) {
&& (catText != null && !catText.trim().isEmpty()))
category = catOption;
}
else {
category = "Other";
}

您还可以通过创建函数来使内容更具可读性:

private boolean isNullOrEmty(String str) {
return str == null || str.trim().isEmpty();
}


if( ! isNullOrEmty(catOption) && isNullOrEmty(catText) ) {
category = catOption;
}
else if( isNullOrEmty(catOption) && ! isNullOrEmty(catText)) {
category = catText;
}
else if(!isNullOrEmty(catOption) && ! isNullOrEmty(catText))
category = catOption;
}
else {
category = "Other";
}

关于java - java-ee中if语句的逻辑问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17050296/

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