Java Получить карту координат X-Y из строки - PullRequest
0 голосов
/ 18 марта 2012

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

Ответы [ 3 ]

0 голосов
/ 18 марта 2012

Для этого нет ничего встроенного.

Вы можете попытаться проанализировать эту строку в двумерном массиве символов или в векторном массиве символов (в зависимости от того, знаете ли вы, сколько строк всего или нет).

С учетом "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 голосов
/ 18 марта 2012

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

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
0 голосов
/ 18 марта 2012

Это можно сделать, но это не обычное представление, поэтому не ожидайте, что оно будет выполнено.

Строка не сильно отличается от массива char, поэтому они могут помочь вам:

...