Java 如何从字符和空格矩阵中提取单词,并将它们放入字符串数组中?

Java 如何从字符和空格矩阵中提取单词,并将它们放入字符串数组中?,java,arrays,matrix,char,Java,Arrays,Matrix,Char,我已经创建了一个11x11矩阵,在这里可以输入纵横字谜的字符。不需要字母的部分用空格填充。我试图获取矩阵,找到其中所有的单词(水平和垂直),然后将它们存储在一个数组中。任何帮助都将不胜感激,因为我对java编程相当陌生!谢谢大家! 这里有一个“C”的工作示例,翻译成java应该是直截了当的 逻辑完全相同 #include <stdio.h> void matrixwords(char matrix[11][11]) { int i = 0; int j = 0;

我已经创建了一个11x11矩阵,在这里可以输入纵横字谜的字符。不需要字母的部分用空格填充。我试图获取矩阵,找到其中所有的单词(水平和垂直),然后将它们存储在一个数组中。任何帮助都将不胜感激,因为我对java编程相当陌生!谢谢大家!

这里有一个“C”的工作示例,翻译成java应该是直截了当的

逻辑完全相同

#include <stdio.h>

void matrixwords(char matrix[11][11])
{
    int i = 0;
    int j = 0;
    int k = 0;
    char str[12];
    /* process each row i using column j */
    k = 0;
    for (i = 0; i < 11; i++) {
        for (j = 0; j < 11; ++j) {
        char c = matrix[i][j];
        if (c != ' ') {
            str[k++] = c;
        } else {
            /* found a word in the row */
            if (k != 0) {
                str[k] = '\0'; /* terminate word */
                printf("found a row word %s\n", str);
                k = 0;
            }
        }
    }
    /* don't forget last word in row */
    if (k != 0) {
        str[k] = '\0'; /* terminate word */
        printf("found a row word %s\n", str);
        k = 0;
    }
}
/* process each column j using row i*/
k = 0;
for (j = 0; j < 11; i++) {
    for (i = 0; i < 11; ++j) {
        char c = matrix[i][j];
        if (c != ' ') {
            str[k++] = c;
        } else {
            /* found a word in the row */
            if (k != 0) {
                str[k] = '\0'; /* terminate word */
                printf("found a column word %s\n", str);
                k = 0;

            }
        }
    }
    /* don't forget last word in column */
    if (k != 0) {
        str[k] = '\0'; /* terminate word */
        printf("found a column word %s\n", str);
    }
    k = 0;
}
#包括
无效矩阵单词(字符矩阵[11][11])
{
int i=0;
int j=0;
int k=0;
char-str[12];
/*使用列j处理每一行i*/
k=0;
对于(i=0;i<11;i++){
对于(j=0;j<11;++j){
char c=矩阵[i][j];
如果(c!=''){
str[k++]=c;
}否则{
/*在行中找到一个单词*/
如果(k!=0){
str[k]='\0';/*终止字*/
printf(“找到一行字%s\n”,str);
k=0;
}
}
}
/*别忘了排最后一个字*/
如果(k!=0){
str[k]='\0';/*终止字*/
printf(“找到一行字%s\n”,str);
k=0;
}
}
/*使用行i处理每列j*/
k=0;
对于(j=0;j<11;i++){
对于(i=0;i<11;++j){
char c=矩阵[i][j];
如果(c!=''){
str[k++]=c;
}否则{
/*在行中找到一个单词*/
如果(k!=0){
str[k]='\0';/*终止字*/
printf(“找到一个列字%s\n”,str);
k=0;
}
}
}
/*别忘了列中的最后一个字*/
如果(k!=0){
str[k]='\0';/*终止字*/
printf(“找到一个列字%s\n”,str);
}
k=0;
}

}

您能澄清/编辑这个问题吗?最后我看到您正在使用java。也许在代码中为你想做其他事情的地方贴上一些你所拥有的代码和注释。“查找其中的所有单词”是什么意思?你是说对照字典检查输入的字母是否确实是单词?或者你的意思是,在给出一组已知答案的情况下,检查它们是否正确?等