Учитывая, что строка введена, верните строку с двумя последними двумя символами. И, если строка имеет менее 2 символов, ничего не делайте и возвращайте строку ввода.Как переключить два символа в строке?
Вот код, который я написал до сих пор:
public class SwapLastChars {
static String testcase1 = "Hello";
public static void main(String args[]) {
SwapLastChars testInstance = new SwapLastChars();
String result = testInstance.swap(testcase1);
System.out.println(result);
}
public String swap(String str1) {
String str = "";
int length = str1.length();
char last = str1.charAt(length - 1);
char l = str1.charAt(length - 2);
if (length == 1)
return str1;
for (int i = 0; i < str1.length() - 2; i++) {
str = str + str1.charAt(i);
}
str = str + last + l;
return str;
}
}
Проблема в моих тестах, любая помощь?
Testcase Pass/Fail Parameters Actual Output Expected Output
1 pass 'aabbccdd' aabbccdd aabbccdd
2 fail 'A' null A
3 pass 'hello' helol helol
Невозможно, чтобы этот код мог возвращать null при вызове с помощью 'A'. Можете ли вы показать нам свой код Testcase, поскольку этот может быть неисправен. –
Можете ли вы также изменить форматирование ваших тестовых примеров для удобства чтения. –
Вы уверены, что это код, который работает? Поведение не соответствует коду. Пожалуйста, добавьте основной() в свой пример кода и запустите его самостоятельно. – Arkadiy