Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.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_Function_Methods_Ide_Logic - Fatal编程技术网

无法从java文本文件检索信息

无法从java文本文件检索信息,java,function,methods,ide,logic,Java,Function,Methods,Ide,Logic,我已经创建了一个非常简单的java程序(我只是一个初学者),该程序将数组中的数据存储在程序末尾的文本文件中;这个很好用。当程序再次运行时,我遇到问题。它应该检索所有数据,但不会。我已经使用:System.out.println(“测试”)对其进行了测试我正在使用的函数似乎正在启动,并且文本文件具有正确的数据 以下是函数: public static void getArrayData(String [][] array){ try { Scanner sca

我已经创建了一个非常简单的java程序(我只是一个初学者),该程序将数组中的数据存储在程序末尾的文本文件中;这个很好用。当程序再次运行时,我遇到问题。它应该检索所有数据,但不会。我已经使用:
System.out.println(“测试”)对其进行了测试我正在使用的函数似乎正在启动,并且文本文件具有正确的数据

以下是函数:

  public static void getArrayData(String [][] array){


      try {
         Scanner scan2 = new Scanner(new File("arrayData.txt"));

         System.out.println(array.length);

         for(int i=0; i<array.length;  i++)
         {
            for(int j=0; j<array[i].length; j++)
            {
              System.out.println("Test 1");
              System.out.println(array[i][j]);

              if ( ! scan2.hasNext() )  //if there's nothing left to read
                  return; 

               array[i][j]=scan2.next(); 

            }  
         }


      } 

      catch (FileNotFoundException e)
         { 
         System.out.println("Test 2");
         e.printStackTrace(); 
         }    

   }
公共静态无效getArrayData(字符串[][]数组){
试一试{
Scanner scan2=新扫描仪(新文件(“arrayData.txt”);
System.out.println(数组.长度);

对于(int i=0;i您如何调用
getArrayData
?您将传递给此方法的数组是什么?@almasshaikh simpleAI2.getArrayData(数组);@almasshaikh simpleAI2是我的类的名称数组的内容是什么。您能在您的问题中发布代码以便我们提供帮助吗?@almasshaikh内容发生了变化。我将发布完整的代码
 import java.util.*;
import java.io.*;

public class simpleAI2
{

   public static void main (String [] args)
   {
      int count = 0;
      String[][] array = new String [20][4];
      simpleAI2.getArrayData(array);
      String leaveQ;
      int rep = 1;

      do
      {
         int countTwo = 0;
         boolean flag = false;
         Scanner scanName = new Scanner (System.in);
         Scanner scanSport = new Scanner (System.in);
         Scanner leave = new Scanner (System.in);


         System.out.println("My name is A.I.S.C.M.B.T. What is your name?");
         array[count][1] = scanName.nextLine ();
         System.out.println("Hi "+array[count][1]+"! What's your favourite sport?");
         array[count][2] = scanSport.nextLine ();
         String sport = array[count][2];

         for(int x = 1;x<rep;x++)
         {
            if(!array[countTwo][2].equals(null) && array[countTwo][2].equals(array[count][2]))
               {
               flag = true;
               x = 28;
               }

            else
               {
               flag = false;
               }

            countTwo ++;
         }


         countTwo --;

         if(flag == true)
            {
            System.out.println("I know "+array[countTwo][2]+". It is "+array[countTwo][3]+". My friend "+array[countTwo][1]+" knows it");
            }

         if(flag == false)
            {
            System.out.println("I don't know "+array[count][2]+". I only know robot boxing. Robots hit each other until one malfunctions. What is this alien sport you speak of?");
            array[count][3] = scanSport.nextLine ();
            }

         System.out.println("Go again? Type no to leave me :(");
         leaveQ = leave.nextLine ();

         rep ++;

         count ++;

         if(leaveQ.equals("no"));
            {
            simpleAI2.Save(array);
            }

      }while (!leaveQ.equals("no"));

   }



   public static void Save(String [][] array){

      try {
         PrintWriter writer = new PrintWriter(new File("arrayData.txt"));

         for(int x=0; x<array.length; x++){
            for(int y=0; y<array[x].length; y++){
               writer.write(String.valueOf(array[x][y]));
            }
            writer.println(); 
         }

         writer.flush();  
         writer.close();        



      } 
      catch (FileNotFoundException e) 
         {      
         e.printStackTrace();
         }


   }

   public static void getArrayData(String [][] array){


      try {
         Scanner scan2 = new Scanner(new File("arrayData.txt"));

         System.out.println(array.length);

         for(int i=0; i<array.length;  i++)
         {
            for(int j=0; j<array[i].length; j++)
            {
              System.out.println("Test 1");
              System.out.println(array[i][j]);

              if ( ! scan2.hasNext() )  //if there's nothing left to read
                  return; 

               array[i][j]=scan2.next(); 

            }  
         }


      } 

      catch (FileNotFoundException e)
         { 
         System.out.println("Test 2");
         e.printStackTrace(); 
         }    

   }
}