2014-11-23 2 views
0

Так я понимаю преобразование строки в целое (ParseInt, я знаю), но мне было интересно, смогу ли я конвертировать следующее:координаты строки в целое

Строка координаты = EasyIn.getString(); (например, «1, 1»)

Integer.parseInt (координаты); очевидно, не работает, потому что существует более одного целого. Есть ли способ обойти это, или мне нужно установить отдельные целые числа? Спасибо за любой совет или помощь по этому вопросу!

(Это для Java, кстати)

+1

Знаете ли вы о методе 'split' класса' String'? –

ответ

0

Если вы не можете использовать новый API, то сделать это: Во-первых, найти запятую

int commaLoc = coordinates.indexOf(","); 

Затем разобрать каждую подстроку

int x = Integer.parseInt(coordinates.substring(0,commaLoc)); 
int y = Integer.parseInt(coordinates.substring(commaLoc + 2)); 

Если вы можете использовать Сканер:

Scanner scanner = new Scanner (coordinates); 
scanner.useDelimiter (", "); 
int x = scanner.nextInt(); 
int y = scanner.nextInt(); 
0

Там нет прямой путь в Java, но это всего лишь две простые линии, если вы используете регулярное выражение:

int x = Integer.parseInt(coordinates.replaceAll(",.*", "")); 
int y = Integer.parseInt(coordinates.replaceAll(".*,", "")); 

Если у вас есть Java 8, это одна линия, чтобы получить массив целых чисел из CSV чисел.

int[] ints = Arrays.stream(coordinates.split(", *")).mapToInt(Integer::parseInt).toArray(); 
Смежные вопросы