2010-05-15 3 views
0

Я должен преобразовать строку из 1324312321 в массив целых чисел в javaКак представить отрицательное число в массив целых чисел?

это нормально. Я мог бы использовать целый ParseInt и строки подстроку метод

но как я repesent -12312312 на мой исходный массив целочисленных ..

тот факт, что - это символ/строка и преобразовать в массив целочисленного изменю значение (даже если преобразовать - в целое-эквивалент, это изменило бы остальную часть 12312312)

он должен быть массив целых чисел, и как я должен преобразовать отрицательные числа и до сих пор keeep то же значение

как-то напоминать я из двух дополнений, но я не думаю, что мне нужно перейти на двоичный уровень в моей программе ram ..

любой другой трюк для этого?

спасибо!

ответ

3

Почему бы просто не сохранить первый элемент как -1 вместо 1?

+1

или вы можете сделать их отрицательными – akf

0

Одним из способов было бы обеспечить знак для всех целых чисел

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

или оставить пустое пространство для положительных целых чисел

1 2 3 1 2 3 1 2 

Вы могли бы просто сказать, что знак минус предшествует любому отрицательное целое число. Пример

1231-2312 

означает, что пятое целое число в массиве равно -2. Если вы хотите представить массив целых чисел таким образом, вам, вероятно, придется самостоятельно разбирать строку, а не использовать строковый метод.

0

Там любое количество способов, включая:

  • сделать наиболее значащий разряд отрицательный,
  • делают все цифры отрицательна,
  • добавить ведущую цифру (например, -1 по сравнению с 0) для представления знак, или
  • представляют знак отдельно от массива цифр.

Что лучше всего зависит от того, что именно вы собираетесь делать с массивом цифр. Например, если вам нужно представить несущественные начальные нули из входной строки, тогда первый подход не будет работать ... нет значения -0.

1

Преобразование в массив целых чисел может означать много разных вещей. Почему бы вам просто не сделать?

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

Вы не дали понять, почему вы хотите создать массив целых чисел, когда достаточно одного int.

Смежные вопросы