public String noXYZString s returns a string in which all th
public String noXYZ(String s) returns a string in which all the letters x, y, and z have been removed. You must use a loop.
Example :
input : \"I zwant ya xcat\"
output : \"I want a cat\"
Here\'s my code and got know idea what is the problem
public String noXYZ(String s)
{
int i = 0;
s = s.toLowerCase();
s = s.substring(i, i+1);
do
{
if ( s.contains(\"x\"))
{
s = s.replace(\"x\", \"\");
}
if ( s.contains(\"y\"))
{
s = s.replace(\"y\", \"\");
}
if ( s.contains(\"z\"))
{
s = s.replace(\"z\", \"\");
}
i ++;
}
while (i < s.length());
return s;
}
Solution
The code given by you is doing a wrong logic. Please find below the errors :
Here you have defined s = s.substring(i, i+1); which is nothing but returns one character, and inside while condition you have given while (i < s.length()); that is it will executes only when i is < s.length(), here s length is 1. Thus the loop will execute only once, and it returns only first character.
Instead of this, you can use the following implementation, which is probably easy :
