በጃቫ ውስጥ አንድ ገመድ ለመቀልበስ ቀላሉ መንገድ

በጃቫ ቴክኒካዊ ቃለ-መጠይቅ ውስጥ አንድ ክር መገልበጥ በጣም በተደጋጋሚ ከሚጠየቁ ጥያቄዎች ውስጥ አንዱ ነው ፡፡ ቃለመጠይቆቹ አንድን ገመድ ለመገልበጥ የተለያዩ መንገዶችን እንዲጽፉ ሊጠይቁዎት ይችላሉ ፣ ወይም ደግሞ አብሮገነብ ዘዴዎችን ሳይጠቀሙ አንድ ክር እንዲገለብጡ ሊጠይቁዎት ይችላሉ ፣ ወይም ደግሞ እንደገና መመለስን በመጠቀም አንድ ክር እንዲገለብጡ ሊጠይቁዎት ይችላሉ።

በጃቫ ውስጥ ሕብረቁምፊን ለመቀልበስ ሊጠቀሙባቸው የሚችሏቸው የተለያዩ ዘዴዎች ከዚህ በታች ቀርበዋል ፡፡



በጃቫ ውስጥ የተገላቢጦሽ ገመድ ፣ ቀላሉ መንገድ

በጃቫ ውስጥ ሕብረቁምፊን ለመቀልበስ ቀላሉ መንገድ አብሮ የተሰራውን reverse() መጠቀም ነው የ StringBuilder ተግባር ክፍል


ለምሳሌ:

package io.devqa.tutorials; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; class ReverseString {
String reverse(String inputString) {
return new StringBuilder(inputString).reverse().toString();
}
@Test
public void testAWord() {
assertEquals('tobor', new ReverseString().reverse('robot'));
} }

ተዛማጅ:




መዞሪያን በመጠቀም የተገላቢጦሽ ገመድ

በጃቫ ውስጥ ሕብረቁምፊን ለመቀልበስ የሚቻልበት ሌላኛው መንገድ እንደገና መመለስን እና የ charAt() ን መጠቀም ነው የ String ዘዴ ክፍል

ለምሳሌ:

import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; class ReverseString {
String reverse(String inputString) {

StringBuilder reverseStringBuilder = new StringBuilder();

for(int i = inputString.length() - 1; i>=0; i--){

reverseStringBuilder.append(inputString.charAt(i));
}

return reverseStringBuilder.toString();
}
@Test
public void testAWord() {
assertEquals('tobor', new ReverseString().reverse('robot'));
} }

ከላይ ያለው ልዩነት toCharArray() ን መጠቀም ነው እና በባህሪያቱ ላይ ሉፕ ያድርጉ ለምሳሌ

import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertEquals; class ReverseString {
String reverse(String inputString) {
String outString = '';
for(char c : inputString.toCharArray()) {

outString = c + outString;
}
return outString;
}
@Test
public void testAWord() {
assertEquals('tobor', new ReverseString().reverse('robot'));
} }


በጃቫ 8 ውስጥ የተገላቢጦሽ ገመድ

import org.junit.jupiter.api.Test; import java.util.stream.Collectors; import java.util.stream.IntStream; import static org.junit.jupiter.api.Assertions.assertEquals; class ReverseString {
String reverse(String inputString) {
return IntStream.range(0, inputString.length())

.mapToObj(x-> inputString.charAt((inputString.length()-1) - x))

.map(character -> String.valueOf(character))

.collect(Collectors.joining(''));
}
@Test
public void testAWord() {
assertEquals('tobor', new ReverseString().reverse('robot'));
} }