如何将负数表示为整数数组?

时间:2010-05-15 18:42:28

标签: java

我必须将1324312321的字符串转换为java

中的整数数组

这很好。我可以使用整数parseint和字符串子串方法

但是如何将-12312312重复为我原始的整数数组..

事实是 - 是一个字符串/字符串并且转换为整数数组会改变该值(即使我将其转换为整数等价,它会改变12312312的其余部分)

它必须是一个整数数组,我应该如何转换负数并保持相同的值

以某种方式提醒我两个补充技巧但我不认为我需要在我的程序中进入二进制级别..

这样做的其他任何技巧?

谢谢!

4 个答案:

答案 0 :(得分:3)

为什么不将第一个元素存储为-1而不是1

答案 1 :(得分:1)

转换为整数数组可能意味着许多不同的事情。你为什么不这样做?

String text = "-12312312";
int[] values = { Integer.parseInt(text) };

你还没说清楚为什么你想要在单个int足够的时候创建一个整数数组。

答案 2 :(得分:0)

一种方法是为所有整数提供一个符号

+1+2+3+1+2+3+1+2

或为正整数留空格

 1 2 3 1 2 3 1 2

你可以说减号在任何负整数之前。例子

1231-2312

意味着数组中的第五个整数是-2。如果你想用这种方式表示整数数组,你可能必须自己解析字符串,而不是使用字符串方法。

答案 3 :(得分:0)

有许多方法,包括:

  • 使最重要的数字为负,
  • 使所有数字为负数,
  • 添加一个前导数字(例如-1对0)来表示符号,或
  • 与数字数组分开表示符号。

哪个最好取决于你要对数字数组做什么。例如,如果您需要从输入字符串中表示非重要前导零,那么第一种方法不起作用......没有-0值。