【发布时间】:2016-03-27 22:14:17
【问题描述】:
我添加两个十六进制数字并将它们作为字符串返回, 如何将字符串值存储到 int 中?它不适合我。 这是我正在处理的代码。
int A 和 B 没有把 num1 和 num2 的 String 当作 int,我该怎么办?
public static String Addtion(String num1, String num2){
int sum, carry=0;
int A = num1.length()-1;
int B = num2.length()-1;
String astn="";
if ( B < A && B!= A){
num2 = '0' + num2;
B++;
}
while(B>=0){
sum = (con(num1.charAt(A))+con(num2.charAt(B))+carry)%16;
carry= (con(num1.charAt(A))+con(num2.charAt(B))+carry)/16;
astn = toHexChar(sum) + astn;
A--;
B--;
}
return astn ;
}
【问题讨论】:
-
@redFIVE - 根据我对这篇文章的阅读,其他问题并不接近重复。尽管这篇文章的标题措辞不佳,但 OP 的问题似乎与将
String转换为int无关。 -
他在“问题”中明确表示
How can i store the String value into int? -
@redFIVE - 我知道,但看看代码。 OP 正在尝试逐个字符地模拟十六进制加法。
A和B实际上是十六进制字符串的 长度(减 1),而不是解析的十六进制值。否则,整个算法将毫无意义。 OP 的问题是由于没有正确处理这些长度(根据我的回答)。 OP 显然不是以英语为母语的人,应该考虑到这一点。 (请注意,据我们所知,这些可能是 10,000 位长的十六进制字符串,不可能在 Java 中解析为原生整数类型。) -
@TedHopp 推断这一点不是我们的工作。在更改标题和问题之前,对于所有要搜索类似问题并获得此垃圾线程的人来说,它仍然是重复的
-
@redFIVE - 如果线程是垃圾,那么,可以,否决这个问题,或者在评论中要求 OP 澄清和/或投票关闭为“不清楚你在问什么”或其他适当的理由。但是,根据几个关键字匹配将不相关的线程指向重复,这对社区是一种伤害。