0
How to hide string with stars?
i have to prompt the user for a word and then print the word with stars. I know the process of asking the user for the word. Im not sure how to replace the characters with star. I know theres the .replaceAll method but I dont want to use that
5 Respostas
+ 1
I think that to use char array instead of String[] could simplify @VEdward's code.
An char array can be easily assembled into String without writing a for loop.
Scanner inp = new Scanner(System.in);
String inStr = inp.next();
char[] inWordChars = inStr.toCharArray();
for (int i = 0; i < inWordChars.length; i++) {
inWordChars[i] = '*';
}
String outputStr = new String(inWordChars);
System.out.println(outputStr);
0
Which do you want to hide, entire word or only specific characters?
0
entire word
0
ok, concatenate stars for [word length] times by for loop.
instant example:
public static String hide(String word) {
String stars = "";
for (int i = 0; i < word.length(); i++) {
stars += '*';
}
return stars;
}
0
Scanner inp = new Scanner(System.in);
String inStr = inp.next(); //the word input by user
//create array of size same as length of word
String[] inWordChars = new String[inStr.length()];
//now split the string it will give array
inWordChars = inStr.split("");
//replace all(or the ones you want) with stars
for(int i=0; i<inWordChars.length;i++){
//replace each character to star
inWordChars[i] = "*";
}
//now we will join all characters
//create a blank string
String outputStr = "";
//add all members to string using for loop
for(int j=0; j<inWordChars.length;j++){
outputStr += inWordChars[j];
}
//at last print it to screen
System.out.print(outputStr);