2012-03-18 4 views
0

Есть ли способ получить карту java.awt.Point s от String? Или даже просто одна точка на этой Строке. Например, для "xyz123\nabc123" координата (0, 1) будет 'a'.Java Получить карту X-Y Координаты со строки

+0

Может быть, это я, но я не понимаю ваш вопрос. Как «xyz123 \ nabc123» указывает, что (0,2) и (1,2) являются y? –

+0

Извините, я так плохо сформулировал. Я изменил вопрос –

ответ

0

Там нет ничего встроенные для этого.

Вы можете попробовать и разобрать эту строку в 2D-массив или вектор массивов символов (в зависимости от того, знаете ли вы, сколько строк в целом или нет).

Учитывая «XYZ123 \ nabc123», как str:

//split it by newline, should work on windows/unix 
String lines[] = str.split("\\r?\\n"); 
char[][] map = new char[lines.length][]; 
//fill up map, each row is a new line 
for(int i = 0; i < lines.length; i ++) 
map[i] = lines[i].toCharArray(); 
//map[0][2] returns 'z' 
+0

Спасибо, что это прекрасно. –

0

Не вдаваясь в вопрос ваш мотив, но вот один из способов:

String find(String[] a, int x, int y) { 
    try { 
     return String(a[x].charAt(y)); // or y+1 in your example 
    } 
    catch (Exception exc) { 
     return NULL; 
    } 
} 
... 

String s = "xyz123\nabc546"; 
String[] sa = s.split("\\n"); 

find(sa, 0, 0); // returns "x" 
find(sa, 1, 2); // returns "c" 
find(sa, 3, 2); // returns NULL