Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.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 找到完形填空的答案_Java - Fatal编程技术网

Java 找到完形填空的答案

Java 找到完形填空的答案,java,Java,我正在尝试自动完成完形填空。 输入如下所示: __a _____n _______t _n _i___ _e_________ __s d__ _____e__ __d _i____ e__ __t___. _s _s_ __n_ ____e __n ______n ___e___, _i_ i_ _i_ ___h____ __________e __b_____ ___d__ s_____, _o __s_ s__ _i__ ___t___ _e________ _r_____. ______

我正在尝试自动完成完形填空。 输入如下所示:

__a _____n _______t _n _i___ _e_________ __s d__ _____e__ __d _i____ e__ __t___. _s _s_ __n_ ____e __n ______n ___e___, _i_ i_ _i_ ___h____ __________e __b_____ ___d__ s_____, _o __s_ s__ _i__ ___t___ _e________ _r_____. __________n _n_ _a_________ s____ e_____ _______b__ ___d ____n ______e___.
Es in in so aus der die die ein ist Opa sie und und von dass eine eine sind einer Liste schon sowie einige findet Jürgen Rätsel sollen werden ergeben gegeben lustige Wörtern Apotheke blättert gebracht richtige Buchstaben Geschichte vorgegeben Leerzeichen Reihenfolge Satzzeichen Zeitschrift
显然,我想找到正确的解决方案。应该是这样的:

__a _____n _______t _n _i___ _e_________ __s d__ _____e__ __d _i____ e__ __t___. _s _s_ __n_ ____e __n ______n ___e___, _i_ i_ _i_ ___h____ __________e __b_____ ___d__ s_____, _o __s_ s__ _i__ ___t___ _e________ _r_____. __________n _n_ _a_________ s____ e_____ _______b__ ___d ____n ______e___.
Es in in so aus der die die ein ist Opa sie und und von dass eine eine sind einer Liste schon sowie einige findet Jürgen Rätsel sollen werden ergeben gegeben lustige Wörtern Apotheke blättert gebracht richtige Buchstaben Geschichte vorgegeben Leerzeichen Reihenfolge Satzzeichen Zeitschrift
奥帕·尤尔根·布卢蒂特在一次世界大战中获胜 艾因·拉塞尔

但它只是输出:

Opa,Jürgen,blättert,null,einer,Zeitschrift,aus,der,Apotheke, null,findet,null,Rätsel

一个问题是,它只在没有其他可能性的情况下填写单词,但是如果列表中有一个单词出现了两次,它不知道应该使用哪个单词。 我不知道如何实现这一点,而且肯定还有另一个问题

它应该循环遍历每个单词的所有空格,并查找具有相同且唯一的歌唱计数的2。这对于没有字母的空格很重要。然后它再次比较一个单词和一个空格,然后在单词的同一个位置寻找相同的字母。 如果它找到适合它的东西,它会添加到一个计数器以确保它是唯一可能的,然后将该单词添加到输出字符串中

stringResult是空格和 这句话是什么意思。输入的第一行和第二行

如果有人能帮助我,那就太好了。代码如下:

            for(int i = 0; i<stringResult2.length; i++) {
                used[i]= false;
            }
            for(int reps = 0; reps <(stringResult.length +1) ; reps++){
            
                for(int i=0; i<charCount2.length; i++) {
                // geht alle WÖRTER durch   
                    int counter = 0;
                    int counter2 = 0;
                    int savej1 = 0;
                    int savej2 = 0;
                    String save4Output = null;
                    
                    for(int j=0; j<charCount.length; j++) {
                        if(Final[j] != null) {
                            continue;
                        }
                        else {
                        //geht alle LÜCKEN durch
                            if (charCount2[i] == charCount[j] && Final[j] == null && used[i] == false){
                                counter ++;
                                savej1 = j;
                                
                            }
                        }
                        
                    }
                    if (counter == 1){
                        Final [savej1] = stringResult2[i];
                        used[i] = true;
                    }
                    else if(counter > 1) {
                        
                        char[] letters =new char[stringResult2[i].length()];
                        letters = stringResult2[i].toCharArray();
                        //einzelne Buchstaben von Wörtern
                        
                        for(int j = 0; j < charCount.length; j++) {
                        // geht alle LÜCKEN durch
                            
                            if(Final[j] != null) {
                                continue;
                            }
                            else {
                            
                                if(charCount2[i] == charCount[j]) {
                                    
                                
                                    char[] spaces =new char[stringResult[j].length()];
                                    spaces = stringResult[j].toCharArray();
                                    //einzelne Zeichen von Lücken
                                    //int ja = 0;
                                
                                    for(int l = 0; l < spaces.length; l++) {
                                        if(letters[l] == spaces[l] && used[i] == false) {
                                            System.out.println("Jawollja");
                                            savej2 = j;
                                            save4Output =stringResult2[i];
                                            counter2 ++;
                                            //Final[j] = stringResult2[i];
                                            System.out.println(Arrays.toString(Final));
                                            break;
                                        }
                                    
                                    }
                                }
                            }
                            
                        }
                        
                        if(counter2 ==1) {
                            Final[savej2] = save4Output;
                            used[i] = true;
                        }
                        else { continue; }
                        
                                                                                                                        //System.out.println(letters);
                    }
                    
                    
                }
            }
                
            
                System.out.println(Arrays.toString(Final));
            
        } catch (IOException ioe) {
            ioe.printStackTrace();
        }
            
            
    }
    
}
    enter code here

我已经找到了解决办法。 感谢您几周后重新打开它,当时已经很晚了


顺便说一句,这是一个笑话-

欢迎来到堆栈溢出。请学习如何使用堆栈溢出,并阅读如何提高问题的质量。然后,你的问题包括完整的源代码,你有一个,它可以被编译和测试的其他人。另外,请检查以了解您可以提出哪些问题。请参阅:。