Java 是否有办法获取System.out.print();来自For循环的值;

Java 是否有办法获取System.out.print();来自For循环的值;,java,string,for-loop,Java,String,For Loop,我正在猜字符串程序游戏,我需要将用户输入的字符串从字母和空格/空格转换为问号(?)。我该怎么做呢 我使用了一个for循环,它给了我想要的,但是我不能在循环之外使用for循环的输出 System.out.println("Please enter a string of words."); String userString = scan.nextLine(); userString=userString.toLowerCase(); System

我正在猜字符串程序游戏,我需要将用户输入的字符串从字母和空格/空格转换为问号(?)。我该怎么做呢

我使用了一个for循环,它给了我想要的,但是我不能在循环之外使用for循环的输出

System.out.println("Please enter a string of words.");

        String userString = scan.nextLine();
        userString=userString.toLowerCase();
        System.out.println(userString);

        int s1 = userString.length();
        System.out.println(s1);
        for(int a=0;a<s1;a++) {
            System.out.print("?");
        }
System.out.println(“请输入一串单词”);
String userString=scan.nextLine();
userString=userString.toLowerCase();
System.out.println(userString);
int s1=userString.length();
系统输出打印LN(s1);

对于(int a=0;a,根据我的理解,我认为您希望存储“?”, 这样做 在for循环外部创建字符串变量 并在其中附加“?”

String temp="";
for(int i=0;i<s1;i++)
{
temp=temp+"?";
}
System.out.println(temp);

String temp=”“;
对于(inti=0;iJava11提供了repeat()方法

你可以用

“?”。从内到外重复(s1)

System.out.print(“?”。重复(s1))
并可以删除for循环


它将重复?s1次。

如果要用
替换字符串中的每个字符,可以尝试

String newString = userString.replaceAll(".", "?");

是一个正则表达式,它将匹配除换行符以外的任何字符,您的字符串无论如何都不会包含换行符。

无需为每个字符打印
。您只需将每个字符替换为
,即可生成新字符串而无需打印

String newUserString = userString.replaceAll(".","?");

“全部替换”是正确答案,但如果出于某种原因必须执行for循环,则可以使用StringBuilder并为字符串中的每个字符添加一个?,如下所示:

String userInput = "myString";
StringBuilder myBuilder = new StringBuilder();
for(int x = 0; x<userInput.length(); x++){
   myBuilder.append("?");
}
String myNewString = myBuilder.toString();
String userInput=“myString”;
StringBuilder myBuilder=新建StringBuilder();

对于(int x=0;xYou可以将其存储在变量中并输出变量。在将字符串转换为
s方面,您可以尝试