【发布时间】:2020-11-17 16:47:38
【问题描述】:
这是我学习 Java 的第二周,我正在尝试实现一些我在正在学习的书中看到的功能。
在第一个函数中,我想将整数表示为整数位数组,以便绕过整数值的范围。
例如:
第一个功能
输入:整数输入(123456)
输出:integerString[] = {1,2,3,4,5,6}
第二个功能
输入:stringInput[] = {123456}
输出:integerString[] = {1,2,3,4,5,6}
第三个功能:
(我想像普通加法一样添加 2 个整数字符串值)
输入:integerString1[] = {1,2,3,4,5,6} integerString2[] = {1,2,3,4,5,6}
输出:[2,4,6,9,1,2]
这是我目前所拥有的,它充满了错误,我能得到的只是一个空输出。将不胜感激。
谢谢。
public class tryingOut{
public static int[] integerToNumberArray(int value) {
String temp = Integer.toString(value);
int[] list = new int[temp.length()];
for (int i = 0; i < temp.length(); i++) {
list[i] = temp.charAt(i) - '0';
}
return list;
}
public static boolean isNumeric(String value) {
if (value == null) {
return false;
}
try {
int d = Integer.parseInt(value);
} catch (NumberFormatException nfe) {
return false;
}
return true;
}
public static int[] stringToNumberArray(String value) {
boolean checkNumeric = isNumeric(value);
if (checkNumeric = false) {
return null;
} else {
String[] items = value.replaceAll("\\[", "").replaceAll("\\]", "").replaceAll("\\s", "").split(",");
int[] results = new int[items.length];
for (int i = 0; i < items.length; i++) {
try {
results[i] = Integer.parseInt(items[i]);
} catch (NumberFormatException nfe) {
}
}
return results;
}
}
public static int[] addNumberArrays(int[] a1, int[] a2) {
int[] result = null;
return result;
}
public static void main(String[] args) {
int test1 = 19;
int test2 = 823;
int[] list1 = integerToNumberArray(test1);
int[] list2 = integerToNumberArray(test2);
// stringToNumberArray(test1);
// stringToNumberArray(test2);
}
}
【问题讨论】:
-
"充满错误,我只能得到一个空输出" 你应该告诉我们这些错误中至少有一个的细节,以及你是哪一行代码期望打印一些输出?
-
你知道如何使用调试器吗?
-
请将您的帖子限制在您的一个函数示例中,并包括您使用它遇到的错误
-
顺便说一句,要处理非常大的整数,请使用 Java 内置的
BigInteger类。 -
这并不难,但比你想象的要难。例如,您需要处理从一个添加到下一个添加的结转。因此,由于 6 + 6 是 12,您需要将 2 放入数组位置并将 1 带到下一个加法。这也意味着如果索引 0 添加到生成进位的位置,您需要决定如何处理它,因为您无法进位到 -1 的位置。所以你要么复制数组,要么声明溢出。
标签: java