gpt4 book ai didi

java - 如何处理错误的输入

转载 作者:太空宇宙 更新时间:2023-11-04 13:00:11 25 4
gpt4 key购买 nike

我正在尝试编写一个代码来确定 DNA 序列的两个输入是否是反向互补。该程序要求用户以字符串形式提供序列。我已经正确执行了代码,但我想编写一个 if 语句,如果字符全部为“A”、“T”、“C”或“G”,该语句将继续执行该程序。

这是我自己想出来的,但它不起作用,而且看起来也不接近。我是这门语言的新手,来自 ADA,我只是很困惑如果有任何帮助就好了。

if ( seqFirst.charAt(i) !=  'A' || seqFirst.charAt(i) != 'T' || 
seqFirst.charAt(i) != 'C' || seqFirst.charAt(i) != 'G' ||
seqSecond.charAt(i) != 'A' || seqSecond.charAt(i) != 'T' ||
seqSecond.charAt(i) != 'C' || seqSecond.charAt(i) != 'G' )

最佳答案

您只需将整个条件表达式中的 || 更改为 && 即可。

作为解释,请考虑代码的简化版本:

  if (c != 'A' || c != 'T' ) { // IS BAD }

并考虑c'A'的情况。第一个谓词的计算结果为 false。第二个谓词的计算结果为 true。整个表达式是 false || true ...这是true ...“BAD”

现在将 || 更改为 &&,您会得到 false && true ...这是 false ...“不错”

<小时/>

I'm new to the language and come from ADA ...

这不是真正的问题。问题是理解 boolean 代数是如何工作的;即DeMorgan's Laws .

关于java - 如何处理错误的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35005710/

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