Подсчет повторений слов в строке

Эта проблема произошла со мной, потому что у меня был hibernate.default_schema установлен в другую базу данных, чем та, что в DataSource.

Будучи строгим в моих разрешениях пользователя mysql, когда hibernate пытался запросить таблицу, запросил ту, которая была в базе данных hibernate.default_schema, для которой у пользователя не было разрешений.

. К сожалению, mysql неправильно указывает базу данных в этом сообщении об ошибке, так как это сразу прояснило бы ситуацию.

-2
задан halfer 24 March 2019 в 13:27
поделиться

2 ответа

для версии 2 вы можете разделить вашу исходную строку и поместить ее в массив с помощью метода, который вы можете вызвать для строки String [] tmpsplit = tmp.split(" ");. Таким образом, ваш массив имеет внутри каждой ячейки одно направление (ВВЕРХ или ВНИЗ, ВЛЕВО или ВПРАВО).

Затем вы можете поместить этот массив в аналогичный для того, который у вас есть для версии 1. Замените charFromPath == 'U' на tmpsplit[i].equals("UP")

0
ответ дан Anastasia Tsilepi 24 March 2019 в 13:27
поделиться

Вы можете попробовать что-то вроде

String str = "UPUPLEFTRIGHTUP";
int countUP = ( str.split("UP", -1).length ) - 1;
int countLEFT = ( str.split("LEFT", -1).length ) - 1;
int countRIGHT = ( str.split("RIGHT", -1).length ) - 1;
int countDOWN = ( str.split("DOWN", -1).length ) - 1;

Ограничение можно проверить, сравнив значения int с пределами поля (10*10 в вашем случае).

Для позиции, если предположить, что каждое движение составляет 1 единицу, то:

int x = 0; //starting point in Ox axis
int y = 0; //starting point in Oy axis 
x = countRIGHT - CountLeft;
y = countUP - CountDOWN;

Пара (x,y) - это позиция вашего робота.

функция перемещения:

int[] walk(String path) {
   int[] position = {0,0};
   int countUP = ( path.split("UP", -1).length ) - 1; //Counts how many UP command
   int countLEFT = ( path.split("LEFT", -1).length ) - 1; //Counts how many LEFT command
   int countRIGHT = ( path.split("RIGHT", -1).length ) - 1; //Counts how many RIGHT command
   int countDOWN = ( path.split("DOWN", -1).length ) - 1; //Counts how many DOWN command
   position[0] = countRIGHT - countLEFT;
   position[1] = countUP - countDown;
   return position;
}
0
ответ дан Calips 24 March 2019 в 13:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: