gpt4 book ai didi

java - 我对逻辑运算符感到困惑,有人可以帮助我清理我的困惑吗?多个参数?

转载 作者:行者123 更新时间:2023-12-01 22:50:49 25 4
gpt4 key购买 nike

这是我在这里发表的第一篇文章,但我经常使用这个网站来帮助我解决遇到的编码问题。我是一名中级 Java 程序员。我明年要上大学,我正在考虑辅修计算机科学。

我正在制作一个非常基本的模拟信用卡 validator ,它读取信用卡,检查它是否有效,然后通过电子邮件将信息发送给用户。除教育目的外,不得将其用于任何其他目的。

所以我有一些代码可以检查某人输入的信用卡字符串的多个条件。例如,正如您将看到的,它检查起始数字、卡名和位数。它检查条件,如果满足,则程序继续,如果不满足,则给出错误并立即停止。我 99% 确信我输入的信息正确,但无论如何它都会给我错误,我在这里不知所措。

抱歉,如果我输入了这么多,我又是新来的。所以我在这里请求有关我的逻辑的帮助,谢谢!

 if((cardType.equals("Visa") && card.substring(0).equals("4")) && (length == 13 || length == 16)){
System.out.println("Thank you, next step");
cardValid = true;
}
if((cardType.equals("Master Card")) && (card.substring(0,1).equals("51") || card.substring(0,1).equals("52") || card.substring(0,1).equals("53") || card.substring(0,1).equals("54") || card.substring(0,1).equals("55")) && (length == 16)){
System.out.println("Thank you, next step");
cardValid = true;
}
if((cardType.equals("American Express") && card.substring(0,1).equals("37") && length == 15)){
System.out.println("Thank you, next step");
cardValid = true;
}

if(cardValid != true){
System.out.println("ERROR");
System.exit(0);
}
}

最佳答案

您没有正确使用substring方法。要获取第一个字符作为子字符串,您需要使用 the two-argument version of substring ,提供开始索引(包含)和结束索引(不包含)。

The substring begins at the specified beginIndex and extends to the character at index endIndex - 1.

Parameters:

beginIndex - the beginning index, inclusive.

endIndex - the ending index, exclusive.

(one-argument version of substring 从给定索引到字符串的其余部分获取子字符串。)

The substring begins with the character at the specified index and extends to the end of this string.

替换

card.substring(0).equals("4")

card.substring(0, 1).equals("4")

或者只是比较那里的字符。

card.charAt(0) == '4'

接下来,要获取前两个字符,请再次考虑结束索引是排他的这一事实。替换

card.substring(0,1).equals("37")

card.substring(0,2).equals("37")

关于java - 我对逻辑运算符感到困惑,有人可以帮助我清理我的困惑吗?多个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24763245/

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