Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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_Arrays_Parameter Passing_Response - Fatal编程技术网

java代码集不执行

java代码集不执行,java,arrays,parameter-passing,response,Java,Arrays,Parameter Passing,Response,我有一个java代码,其中parse方法向main方法返回一个数组。此数组被传递给Parsedanalysis类的OutputFilter方法。但是OutputFilter方法无法使用此数组。当我试图打印出myArray[]时,它工作正常。但是没有别的办法,输出只是表明构建成功。我不明白。你能提供一个解决方案吗 提前谢谢 public class Parser { public static void main(String args[]) throws IOException, Int

我有一个java代码,其中parse方法向main方法返回一个数组。此数组被传递给Parsedanalysis类的OutputFilter方法。但是OutputFilter方法无法使用此数组。当我试图打印出myArray[]时,它工作正常。但是没有别的办法,输出只是表明构建成功。我不明白。你能提供一个解决方案吗

提前谢谢

 public class Parser {


 public static void main(String args[]) throws IOException, InterruptedException
 {

 String[] parseOutput;

 parseOutput = parse();
 Parsedanalysis p =new Parsedanalysis();
 p.OutputFilter(parseOutput);

 System.out.println("Output returned array");  //Output Verification//
 for(int i=0;i<parseOutput.length;i++)
 { System.out.println(parseOutput[i]);
 }


}
public synchronized static String[] parse() throws IOException, InterruptedException
{

   {
    String[] output = new String[20];   
    int i=0;
    String command = "cmd /k cd C:\\Program Files\\stanford-parser-2012-11-12 & "                     
        + "set CLASSPATH=.;stanford-parser.jar;stanford-parser-2.0.4-models.jar & "
        + "java -mx100m edu.stanford.nlp.parser.lexparser.LexicalizedParser            edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz data/testsent.txt";         //without typed dependencies    


  Process pr = Runtime.getRuntime().exec(command);

     BufferedReader reader=new BufferedReader(new      InputStreamReader(pr.getInputStream())); 
        String line = reader.readLine(); 
       System.out.println("Output array");

       for(i=0;!(line=reader.readLine()).isEmpty() && i<20;i++)
         {
            output[i]=line;

              System.out.println("Position"+i+output[i]);

          }  

       //  System.out.println("stopped");
          reader.close();
          return(output);

      }





public class Parsedanalysis {
 static int start = 0;
 static int end;
 static String[] POS,SUB,array;
/**
 *
 * @param myArray
 * @throws IOException
 * @throws InterruptedException
 */
public synchronized void OutputFilter(String[] myArray) throws IOException, InterruptedException
{          
     int l=0;                           
 try{

     System.out.println("Parsedanalysis Recieves..");
     for(int k=0;k<myArray.length;k++)
{
    //System.arraycopy(myArray, 0, array, 0, myArray.length);     /*doesn't work beyond this point*/
System.out.println(myArray[k]);
//array[k] = myArray[k];
 }
for(int i=0;i<myArray.length;i++) 
{
   if(myArray[i].contains("(") && myArray[i].contains(")") )
               {
                   System.arraycopy(myArray, i, SUB, l, 1);
               //SUB[l]=myArray[i];
               l++;
               }
    System.out.println(SUB[l]); 

}                
公共类解析器{
公共静态void main(字符串args[])引发IOException、InterruptedException
{
字符串[]解析输出;
parseOutput=parse();
Parsedanalysis p=新的Parsedanalysis();
p、 OutputFilter(解析输出);
System.out.println(“输出返回数组”);//输出验证//
对于(int i=0;i
  • 以下条件无效:

    if(myArray[i].contains(“”)&&myArray[i].contains(“”)

    数组中的同一位置不能同时容纳“(”和“)”-此条件将始终返回false

  • 数组子对象从未初始化

  • 备注:
    for(i=0;!(line=reader.readLine()).isEmpty()和&i
    
  • 以下条件无效:

    if(myArray[i].contains(“”)&&myArray[i].contains(“”)

    数组中的同一位置不能同时容纳“(”和“)”-此条件将始终返回false

  • 数组子对象从未初始化

  • 备注:

    for(i=0;!(line=reader.readLine()).isEmpty()&&iIt如果您正确缩进代码,阅读代码会容易得多。您还应该遵循正常的Java命名约定。最后,您发布了很多代码-我怀疑您实际上不需要向我们展示所有代码来演示问题。您没有真正描述问题-您说过“没有其他东西可以工作”但与实际情况相比,这并不是您所期望的。对于缩进,我很抱歉。我认为如果可以将代码作为一个整体,那么就更容易确定问题所在。问题是我想将数组从main传递到class ParsedAnalysis,在特定条件下,我想从中获取特定的数组元素。myArray中的每个元素都是一个字符串。在我的代码中,我有SUB[l]的输出要显示。即使它没有得到值,也应该打印出一些内容。但是没有显示任何内容。我觉得代码根本不会被执行。如果您正确缩进代码,阅读代码会容易得多。您还应该遵循正常的Java命名约定。最后,您发布了很多代码-我怀疑您实际上不需要向我们展示所有代码只是为了演示问题。您并没有真正描述问题-您说过“没有其他东西可以工作”但与实际情况相比,这并不是您所期望的。对于缩进,我很抱歉。我认为如果可以将代码作为一个整体,那么就更容易确定问题所在。问题是我想将数组从main传递到class ParsedAnalysis,在特定条件下,我想从中获取特定的数组元素。myArray中的每个元素都是一个字符串。在我的代码中,我要显示SUB[l]的输出。即使它没有得到值,也应该打印出一些内容。但是没有显示任何内容。我觉得代码根本没有执行。