gpt4 book ai didi

java - 如何使用String计算?

转载 作者:行者123 更新时间:2023-12-02 11:01:37 25 4
gpt4 key购买 nike

万一我必须用16位数字计算
也许4388576018402626

我想用三种方式来计算

方式1.(part14 * 2 + part12 * 2 + part10 * 2 + part8 * 2 + part6 * 2 + part4 * 2 + part2 * 2 + part0 * 2)= 37
但是结果错误

方式2。(part15 + part13 + part11 + part9 + part7 + part5 + part3 + part1)= 38,但是结果为66080783

方式3。(方式1 +方式2)%10,因为方式1错误,它不能有任何结果

public static void main(String[] args) {
// TODO Auto-generated method stub

//code for loop of follow program
boolean run = true;
while(run){

//User enter the data
Scanner sc = new Scanner (System.in);
System.out.print("Enter the credit card number:");

String cs = sc.nextLine();

//String divide the 16 number in to one different part
String[] parts = cs.split("");
String part0 = parts[0];
String part1 = parts[1];
String part2 = parts[2];
String part3 = parts[3];
String part4 = parts[4];
String part5 = parts[5];
String part6 = parts[6];
String part7 = parts[7];
String part8 = parts[8];
String part9 = parts[9];
String part10 = parts[10];
String part11 = parts[11];
String part12 = parts[12];
String part13 = parts[13];
String part14 = parts[14];
String part15 = parts[15];

String sd = (part14 * 2 + part12 * 2 + part10 * 2 + part8 * 2 + part6 * 2 + part4 * 2 + part2 * 2 +part0 * 2 );
String sd1 = (part15 + part13 + part11 + part9 + part7 + part5 + part3 +part1);
String sd2 = (sd+sd1);

int sd3 = (sd2%10);

if (sd3 =0)
System.out.println ("The card is valid");
else
System.out.println ("The card is invalid");

}
}

}

最佳答案

哇:)如果您想对不适合int或double的数字进行算术运算,为什么不使用BigDecimals?

还是您的目标到底是什么?没有人用字符串来计算。字符串很适合存储任意的东西,包括卡号:),但是要进行数学运算,您总是需要数字。

String sd = (part14 * 2 ) is not something which works.
Integer.valueOf(part14)*2 does work.

还可以考虑使用字符串的charAt方法获取任何字符,而不是使用part1 ... part999999字符串。

考虑到代码片段,我想您的问题是“如何计算luhn数”或“如何在java中验证信用卡号”。一个好的问题为找到一个好的答案开辟了道路,例如以 Check Credit Card Validity using Luhn Algorithm为例。

关于java - 如何使用String计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36606940/

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