如何将输入的字符串单词替换为一个字符集: 例如:
字符串是:Hello Word 输出应为:aaaaa aaaa
该空格应保留为空格。
我已经尝试过了,但是没有空间。
Scanner input = new Scanner(System.in);
String word = input.nextLine();
for(int i = 0; i < word.length(); i++){
System.out.print("a");
}
答案 0 :(得分:7)
也许
System.out.println("Hello Word".replaceAll("\\S", "a"));
答案 1 :(得分:2)
您可以执行以下操作:
for(int i = 0; i < word.length(); i++){
System.out.print(word.charAt(i) == ' ' ? ' ' : 'a');
}
或者如果循环后需要结果,则可以使用StringBuilder
作为累加器,然后打印。
StringBuilder builder = new StringBuilder();
for(int i = 0; i < word.length(); i++){
builder.append(word.charAt(i) == ' ' ? ' ' : 'a'); // accumulate to builder
}
System.out.println(builder);
或者您可以采用Java-8方式:
System.out.println(word.chars()
.mapToObj(c -> ((char)c) == ' ' ? " " : "a")
.collect(joining()));
答案 2 :(得分:2)
如果在word
中的每个字符都是空格,请对其进行迭代,而不进行修改。否则,打印a
。喜欢,
for (char ch : word.toCharArray()) {
if (Character.isWhitespace(ch)) {
System.out.print(ch);
} else {
System.out.print('a');
}
}
答案 3 :(得分:1)
Scanner input = new Scanner(System.in);
String word = input.nextLine();
for(int i = 0; i < word.length(); i++){
if(word.charAt(i) == ' '){
System.out.print(" ");
}
else{
System.out.print("a");
}
}
基本上,每当遇到空格时,您都希望跳过System.out.print(“ a”)。
答案 4 :(得分:0)
此方法会将空格以外的任何字符串替换为所需的任何所需字符。
public static void main(String []args) {
String t = "Hello Word";
replace(t, 'a');
}
public static void replace(String word, char wanted) {
for (int i = 0; i < word.length(); i++){
System.out.print((word.charAt(i) == ' ' ? " " : wanted));
}
}
答案 5 :(得分:0)
或者,您可以像这样迭代word.toCharArray()
:
public static void main(String[] args) {
String word = "Hello World!";
String replacedWord = "";
for (char c : word.toCharArray()) {
if (c != ' ') {
replacedWord += 'a';
} else {
replacedWord += c;
}
}
System.out.println(word + " --> " + replacedWord);
}
答案 6 :(得分:0)
这时为什么不使用lambda添加解决方案
public String goofy(String str) {
return Stream.of(str.split("")).map(ch -> {
if (ch.equals(" "))
return " ";
else
return "a";
}).collect(Collectors.joining(""));
}
最实用的解决方案是@Reimeus预期的解决方案。
答案 7 :(得分:0)
我们应该使用代码点而不是字符。
return Furniture::create([
'id' => Furniture::generateUuid(true),
'name' => $request['name'],
'code' => $request['code'],
]);
答案 8 :(得分:0)
尝试以下代码:
Scanner input=new Scanner(System.in);
String word=input.nextLine();
String x[] =word.split(" ");
int count=x.length;
for(int i=0;i<count;i++){
for(int j=0;j<=x[i].length();j++){
if(j==x[i].length()){
System.out.print(" ");
}else{
System.out.print("a");
}
}
}
答案 9 :(得分:0)
尝试一下:
line_count = 0
for line in lines:
if line[:3] != "Max":
tokens = line.split()
episode = int(tokens[0].split(':')[1])
if episode not in x:
reward = float(tokens[7].split(':')[1])
x.append(episode)
y.append(reward)
line_count += 1
if line_count == 1000:
linePlot = plt.plot(x, y)
plt.show()
linePlot[0].figure.savefig(fileName)
line_count = 0
x = []
y = []