gpt4 book ai didi

Java 初学者在使用 Integer.parseInt 将字符串转换为整数时遇到问题

转载 作者:搜寻专家 更新时间:2023-11-01 02:16:58 28 4
gpt4 key购买 nike

我正在创建一个批处理程序来读取包含

信用卡号码,然后将数字相加(从右到左),从

最后一个数字并跳过所有其他数字。我必须将输入视为字符串而不是

数字。我的代码如下所示:

          int oddSum = 0, digit = 0;
for(int odd = (cardNumber.length() - 1); odd >= 0; odd = odd - 2)
{
digit = Integer.parseInt(cardNumber);
oddSum += digit;
}

但是String cardNumber 是整个String,而我只需要一个数字。说:

            cardNumber = "4388576018402626";

我怎样才能把“6”变成一个整数?

最佳答案

如果你一次只需要处理一个数字,你甚至不需要解析任何东西:

String cardNumber = "4388576018402626";
int d = cardNumber.charAt(0) - '0'; // = 4

但如果您坚持使用 Integer.parseInt(),请使用 String。 substring(begin, end)方法:

int d = Integer.parseInt(cardNumber.substring(0, 1));  // = 4

** 更新 **

或者这个更好的解决方案:

char[] chars = cardNumber.toCharArray();
int oddSum = 0, digit = 0, len = chars.length - 1;
for(int odd = len; odd >= 0; odd -= 2)
{
if (Character.isDigit(chars[odd])) {
digit = Character.getNumericValue(chars[odd]);
oddSum += digit;
} //else {
// do something... throw an exception, whatever here
//}
}

关于Java 初学者在使用 Integer.parseInt 将字符串转换为整数时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5201469/

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