有没有一种方法可以根据Java字符串中有多少个字母来创建相同字符的char数组?

时间:2019-09-09 21:03:50

标签: java arrays string char

我正在尝试用Java创建hang子手游戏,我想知道是否有一种方法可以基于字符串中有多少个字母来创建具有相同字符的char array
例如,如果用户输入一个5 letter word,则将使用char array创建一个5 underscores

这是我迄今为止尝试的无济于事:

    System.out.println("Enter a word to guess");
    String wordToGuess = input.nextLine();

    String array[] = {"_", "_", "_",};
    char underscore[] = array.toCharArray();

我收到的错误消息是:

Cannot invoke toCharArray() on the array type String[]

5 个答案:

答案 0 :(得分:1)

最简单的方法是以下

char[] chars = new char[userinput.length()] ;
Arrays.fill(chars, '_') ;

答案 1 :(得分:0)

String[] sArray = {"_", "_", "_",};
String s = "";
for (String n:sArray)
s+= n;
char[] c = s.toCharArray();

答案 2 :(得分:0)

toCharArray()方法仅适用于String,不适用于String []。这就是为什么会发生错误。

您可以加入数组的所有部分,然后转换为字符。例如。 String.join(“”, array).toCharArray()

答案 3 :(得分:0)

您可以获取字符串的长度并通过将文本转换为 CHAR ARRAY 进行管理,如下例所示:

public static void main(String[] args) {
    String testString = "This Is Test";
    int stringLength = testString.length(); //Maybe you can use this.
    char[] arrayName = testString.toCharArray(); //And here you can manage your array

    for (int i = 0; i<=testString.length()) {
        System.out.println(char[i]);
    }
}

答案 4 :(得分:0)

尝试一下:

this.state = { filterCrime: '', posts: [] }

let filteredPosts = this.state.posts
if (filterCrime) {
  filteredPosts = filteredPosts.filter(post => post.category === this.state.filterCrime)
}

/* map from "Code Option 1" */