NumberFormatException:对于输入字符串:";[memorylocation";java

NumberFormatException:对于输入字符串:";[memorylocation";java,java,runtime-error,Java,Runtime Error,我正在做一个任务,目标是,除其他外,添加两个大整数 我们无法更改的主要内容: import java.util.*; import MyUtils.MyUtil; public class CSCD210HW7 { public static void main(String [] args)throws Exception { int choice; String num; LargeInt one, two, three = null;

我正在做一个任务,目标是,除其他外,添加两个大整数

我们无法更改的主要内容:

import java.util.*;
import MyUtils.MyUtil;

public class CSCD210HW7
{
   public static void main(String [] args)throws Exception
   {
      int choice;
      String num;
      LargeInt one, two, three = null;
      Scanner kb = new Scanner(System.in);

      num = HW7Methods.readNum(kb);
      one = new LargeInt(num);

      num = HW7Methods.readNum(kb);
      two = new LargeInt(num);

      do
      {
         choice = MyUtil.menu(kb);

         switch(choice)
         {
            case 1:  System.out.println(one + "\n");
                     break;

            case 2:  System.out.println("The value of the LargeInt is: " + two.getValue() + "\n");
                     break;

            case 3:  num = HW7Methods.readNum(kb);
                     one.setValue(num);
                     break;

            case 4:  if(one.equals(two))
                        System.out.println("The LargeInts are equal");
                     else
                        System.out.println("The LargeInts are NOT equal");        
                     break;

            case 5:  three = two.add(one);
                     System.out.printf("The results of %s added to %s is %s\n", one.getValue(), two.getValue(), three.getValue());
                     break;  

            case 6:  HW7Methods.displayAscendingOrder(one, two, three);
                     break;

            default:  if(two.compareTo(one) < 0)
                        System.out.printf("LargeInt %s is less than LargeInt %s\n", two.getValue(), one.getValue());   
                     else if(two.compareTo(one) > 0)
                        System.out.printf("LargeInt %s is greater than LargeInt %s\n", two.getValue(), one.getValue());
                     else
                        System.out.printf("LargeInt %s is equal to LargeInt %s\n", two.getValue(), one.getValue());      
                     break;
         }// end switch

      }while(choice != 8);

   }// end main

}// end class
我以前从未见过这种错误。有人能告诉我发生了什么吗

对于输入字符串:“[I@55f96302

这不是您试图在此处解析的“正确”字符串

这就是调用
toString()
时,
int[]
的样子

String stringOne = myArray.toString();
你为什么这么做?那该怎么办

int r = Integer.parseInt(stringOne);
int e = Integer.parseInt(stringTwo);
int s = r + e;
从外观上看,您试图用
LargeInt
类通过某种方式将“大”整数存储在一个整数数组中来处理它们。没关系,
biginger
也可以这样工作(或多或少),但您不能仅仅通过尝试转换回
int
来进行计算(所有这些数字都太大了,
int
算法无法处理,即使您正确地进行了字符串解析)

对于输入字符串:“[I@55f96302

这不是您试图在此处解析的“正确”字符串

这就是调用
toString()
时,
int[]
的样子

String stringOne = myArray.toString();
你为什么这么做?那该怎么办

int r = Integer.parseInt(stringOne);
int e = Integer.parseInt(stringTwo);
int s = r + e;
从外观上看,您试图用
LargeInt
类通过某种方式将“大”整数存储在一个整数数组中来处理它们。没关系,
biginger
也可以这样工作(或多或少),但您不能仅仅通过尝试转换回
int
来进行计算(所有这些数字都太大了,
int
算法无法处理,即使您正确地进行了字符串解析)

对于输入字符串:“[I@55f96302

这不是您试图在此处解析的“正确”字符串

这就是调用
toString()
时,
int[]
的样子

String stringOne = myArray.toString();
你为什么这么做?那该怎么办

int r = Integer.parseInt(stringOne);
int e = Integer.parseInt(stringTwo);
int s = r + e;
从外观上看,您试图用
LargeInt
类通过某种方式将“大”整数存储在一个整数数组中来处理它们。没关系,
biginger
也可以这样工作(或多或少),但您不能仅仅通过尝试转换回
int
来进行计算(所有这些数字都太大了,
int
算法无法处理,即使您正确地进行了字符串解析)

对于输入字符串:“[I@55f96302

这不是您试图在此处解析的“正确”字符串

这就是调用
toString()
时,
int[]
的样子

String stringOne = myArray.toString();
你为什么这么做?那该怎么办

int r = Integer.parseInt(stringOne);
int e = Integer.parseInt(stringTwo);
int s = r + e;

从外观上看,您试图用
LargeInt
类通过某种方式将“大”整数存储在一个整数数组中来处理它们。没关系,
biginger
也可以这样工作(或多或少),但您不能仅仅通过尝试转换回
int
来进行计算(所有这些数字都太大了,
int
算法无法处理,即使您正确地进行了字符串解析).

我认为
add
方法的想法是,你应该把两个
LargeInt
数字逐位相加。你要做的是把它们都转换回
int
然后再相加,但这不是“大整数”的意义所在类。这是用于存储太大而无法放入
int
数据类型中的数字。因此,我猜您在处理赋值时完全错了。有趣的是,这是多么相似:(我指的是代码)我认为,
add
方法的想法是,你应该将两个
LargeInt
数字逐位相加。你要做的是将它们都转换回
int
,然后再相加,但这不是“大整数”的意义所在类。这是用于存储太大而无法放入
int
数据类型中的数字。因此,我猜您在处理赋值时完全错了。有趣的是,这是多么相似:(我指的是代码)我认为,
add
方法的想法是,你应该将两个
LargeInt
数字逐位相加。你要做的是将它们都转换回
int
,然后再相加,但这不是“大整数”的意义所在类。这是用于存储太大而无法放入
int
数据类型中的数字。因此,我猜您在处理赋值时完全错了。有趣的是,这是多么相似:(我指的是代码)我认为,
add
方法的想法是,你应该将两个
LargeInt
数字逐位相加。你要做的是将它们都转换回
int
,然后再相加,但这不是“大整数”的意义所在类。这是用于存储太大而无法放入
int
数据类型中的数字。因此,我猜您在处理赋值时完全错了。有趣的是,这是多么相似:(我指的是代码)
int
无法处理这些大数字。你需要自己实现加法。这真是一项艰巨的任务。也许可以看看
biginger
的源代码(我假设这是学校作业。在现实生活中,你只需直接使用
biginger
).
int
无法处理这些大数字。你需要自己实现加法。这真是一项艰巨的任务。也许可以看看
biginger
的源代码(我假设这是学校作业。在现实生活中,你只需直接使用
biginger
).
int
无法处理这些大数字。你需要自己实现加法。这真是一项艰巨的任务。也许可以看看
biginger
的源代码(我假设这是学校作业。在现实生活中,你只需直接使用
biginger
int
可以