Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

java 1: ReverseStringInGroup: Please fill the function String reverseInGroup(Str

ID: 3809549 • Letter: J

Question

java

1: ReverseStringInGroup: Please fill the function String reverseInGroup(String str, int k) to reverse the given string in group with size as k.

Example 1: Input: str = “abcdef”, k = 2 Return: badcfe Example 2: Input: str = “abcdef”, k = 4 Return dcbafe

2: checkCapital: Please fill the function boolean checkCapital(String str) to check if the given string if a Capital String. A String is called a Capital String only if one of the following conditions is satisfied: a) All the characters in the String are capitals b) Only the first character is capital and the string has more than characters.

Example 1: Input: str = “Computer” Return: True Example 2: Input: str = “GOOD” Return True Example 3: Input: str = “AmericA” Return False

Explanation / Answer

//reverse the given string in group with size as k

String reverseInGroup(String str, int k)
{
int n=str.length(); // get length of given string
char[] strChars = str.toCharArray(); //convert string to char array as strings are immutable in java
for (int i = 0; i < n; i += k)
{
int left = i;
int right;
if((i+k-1)<(n-1))
right=(i+k-1);
else
right=n-1;
  
while (left < right)
{

// swap characters of k length
char temp=strChars[left];
strChars[left]=strChars[right];
strChars[right]=temp;
left++;
right--;
}

}
str= String.valueOf(strChars); //convert char array to string
return str;
}

// Function to check if the given string if a Capital String

public static boolean checkCapital(String str)
{
int n=str.length();
char[] strChars = str.toCharArray();
boolean isFirstCapital=false; // check if first letter is capital
boolean isLowerAfterFirst=false; // check if any letter after first letter is lower
boolean isUpperAfterFirst=false; // check if any letter after first letter is capital
  
if(Character.isLetter(strChars[0]) && Character.isUpperCase(strChars[0]))
{
isFirstCapital=true;
}
for (int i = 1; i < n; i ++)
{
if(Character.isLetter(strChars[i]) && Character.isLowerCase(strChars[i])) {
isLowerAfterFirst=true;
}
if(Character.isLetter(strChars[i]) && Character.isUpperCase(strChars[i])) {
isUpperAfterFirst=true;
}
}
  
if(isFirstCapital && !isLowerAfterFirst)
return true;
if(isFirstCapital && !isUpperAfterFirst)
return true;
return false;
}