У меня нет проблем с этой проблемой, и я хотел бы получить обратную связь.
В настоящее время я пытаюсь повернуть строку вправо строка за строкой (входные данные поступают из файла).На входе может быть много строк, поэтому вращение должно происходить в каждой строке.Например, если повернуть это вправо на 5 "и разрывы строк ^ $ @", то получится: "^ $ @ и разрывы строк"
Теперь для моего кода: я работаю со списком исделал следующее (извините за случайные строки печати, отлаживал старый способ:]):
private static List<String> rflag(String value, List<String> lines) {
List<String> newLines = new ArrayList<>();
int rvalue = Integer.parseInt(value);
for (String line : lines) {
StringBuilder sb = new StringBuilder();
if (!line.isEmpty()) {
List <Character> chars= new ArrayList<>();
for(char ch: line.toCharArray()){
chars.add(ch);
}
Collections.rotate(chars, rvalue);
sb.append(chars);
// System.out.println("sb" + sb);
String text = sb.toString()
.replace(",", "") //remove the commas
.replace("[", "") //remove the right bracket
.replace("]", "") //remove the left bracket
.trim();
newLines.equals(text);
//System.out.println("nl" + newLines); //taking a look at output
//System.out.println("t-" + text); //taking a look at output
}
}
return newLines;
}
Если я введу что-то вроде «abcXYZ», мой вывод будет [b, c, X,Y, Z, a] или bcXYZa с удалением скобок и запятых.
Моя главная проблема заключается в том, что, хотя я могу удалить скобки и запятые, я не сохраняю строки или слова во входных данных.Кто-нибудь может подсказать мне какие-нибудь идеи (или альтернативы)?Я чувствую, что могу обдумать это, но я потратил довольно много времени и разочаровался: \
Спасибо заранее.