Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将的ArrayList字符串转换为字符?_Java_String_Arraylist_Char_Multidimensional Array - Fatal编程技术网

Java 将的ArrayList字符串转换为字符?

Java 将的ArrayList字符串转换为字符?,java,string,arraylist,char,multidimensional-array,Java,String,Arraylist,Char,Multidimensional Array,因此,我有一个由用户输入的字符串数组列表;我需要帮助将字符串更改为字符,以便将它们输入2d数组。有人能帮忙吗 public class WordSearchPuzzle { private char[][] puzzle ; private ArrayList<String> puzzleWords ; private int letterCount = 0 ; private int gridDimensions; public WordS

因此,我有一个由用户输入的字符串数组列表;我需要帮助将字符串更改为字符,以便将它们输入2d数组。有人能帮忙吗

public class WordSearchPuzzle
{
    private char[][] puzzle ;
    private ArrayList<String> puzzleWords ;
    private int letterCount = 0 ;
    private int gridDimensions;

    public WordSearchPuzzle(ArrayList<String> userSpecifiedWords)
    {
        this.puzzleWords = userSpecifiedWords ;

    }

    private void createPuzzleGrid()
    {
        int i;
        for(i = 0; i < puzzleWords.size() ; i++){
            letterCount = puzzleWords.size() + letterCount ;
        }
        gridDimensions = letterCount * 2;
        puzzle = new char[gridDimensions][gridDimensions] ;
    }
公共类WordSearchPuzzle
{
私有字符[][]拼图;
私人ArrayList字谜;
私人整数字母计数=0;
私有整数维;
public WordSearchPuzzle(ArrayList用户指定的单词)
{
this.puzzleWords=用户指定的单词;
}
私有void createGrid()
{
int i;
对于(i=0;i
将每个字符串更改为一个字符串


标记为家庭作业。像你之前的问题一样,我会问:你尝试过什么吗?你计划如何解决这个问题?你当前的问题是什么


我给你一个主意。createPuzzleGrid()方法为您初始化拼图数组。请注意它们如何从单词列表中计算维度。这将为您指明正确的方向:如何将字符从单词列表复制到数组中。

这会将字符数组放入数组还是数组中arrayList@user1323808如果您查看文档,它声明
返回:一个新分配的字符数组,其长度等于此字符串的长度,并且其内容已初始化为包含此字符串表示的字符序列。
这将对2d数组的大小产生影响。我希望将其保持为arrayList*2中字符的长度,因此下面是我的代码:private void createPuzzleGrid(){int i,itemLength;String item;for(i=0;i[[w,o,r,d],[l,o,n,g,g,g,w,o,r,d],[h,e,l,l,o]]。但我仍然不明白你想要达到什么?你用
拼图[]
的目的是什么?我不确定
字符[letterCount*2][letterCount 2]
很有用,也许你需要
char[maxWordLenght][maxWordLenght]
?谢谢你的回复,好的,我试图实现的是一个使用2d数组的单词搜索拼图,用户输入一个字符串数组列表,我们必须将字符串转换为字符,因为2d数组只接受字符,然后输入单词(作为字符)随机进入2d数组。非常感谢您的帮助!如果您有skype,您可以添加我以更轻松地聊天!我明白了。您如何定义2d数组的大小,您将尝试在其中随机放置单词?(我的意思是外行术语)
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class WordSearchPuzzle {

    private char[][] puzzle ;
    private List<String> puzzleWords; //note: don't use a specific implementation (e.g. ArrayList) when you define a List  

    public WordSearchPuzzle(List<String> userSpecifiedWords)
    {
        this.puzzleWords = userSpecifiedWords ;

    }

    public void createPuzzleGrid()
    {
        puzzle = new char[puzzleWords.size()][];
        for(int i = 0; i < puzzleWords.size() ; i++){
            puzzle[i] = puzzleWords.get(i).toCharArray();
        }
    }   


    public void debugPuzzle(){
        System.out.println(Arrays.deepToString(puzzle));
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
        List<String> userWords = new ArrayList<String>();
        userWords.add("word");
        userWords.add("longlongword");
        userWords.add("hello");

        WordSearchPuzzle puzzle = new WordSearchPuzzle(userWords);
        puzzle.createPuzzleGrid();
        puzzle.debugPuzzle();
    }

}
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class WordSearchPuzzle {

    private char[][] puzzle ;
    private List<String> puzzleWords; //note: don't use a specific implementation (e.g. ArrayList) when you define a List  

    public WordSearchPuzzle(List<String> userSpecifiedWords)
    {
        this.puzzleWords = userSpecifiedWords ;

    }

    public void createPuzzleGrid()
    {
        puzzle = new char[puzzleWords.size()][];
        for(int i = 0; i < puzzleWords.size() ; i++){
            puzzle[i] = puzzleWords.get(i).toCharArray();
        }
    }   


    public void debugPuzzle(){
        System.out.println(Arrays.deepToString(puzzle));
    }
    /**
     * @param args
     */
    public static void main(String[] args) {
        List<String> userWords = new ArrayList<String>();
        userWords.add("word");
        userWords.add("longlongword");
        userWords.add("hello");

        WordSearchPuzzle puzzle = new WordSearchPuzzle(userWords);
        puzzle.createPuzzleGrid();
        puzzle.debugPuzzle();
    }

}
[[w, o, r, d], [l, o, n, g, l, o, n, g, w, o, r, d], [h, e, l, l, o]]