2016-07-14 12 views
-2

私はJAVA初心者です。 ArrayListの値を返す方法と他のクラスを呼び出すには? 私は何をすべきかわかりません.... これは私のコードです。JAVA、MySQL - ArrayList返りと呼び出しの方法

public ArrayList<String> deleteList(String filename){ 

     Connection conn = null; 
     Statement stmt = null; 
     int i=0; 
     ArrayList<String> d_list = new ArrayList<String>(); 

     try{ 
      conn = getConnection(); 

      System.out.println("Creating statement..."); 
      stmt = conn.createStatement(); 

      String sql; 
      sql = "select f_name,access_time," 
       + "(select count(*) + 1 from c_DB where access_time>c.access_time) as rank " 
       + "from c_db as c having rank >= 8 order by rank"; 

      ResultSet rs = stmt.executeQuery(sql); 

      while(rs.next()){ 

      String A = rs.getString("f_Name"); 
      d_list.add(i,A); 
      i++; 
      } 
      /*for(int j=0;j<d_list.size();j++){ 
       System.out.print("\n" +d_list.get(j)); 
      } */   
      rs.close(); 
      stmt.close(); 
      conn.close(); 
     }catch(SQLException se){ 
      se.printStackTrace(); 
     }catch(Exception e){  
      e.printStackTrace(); 
     } 
     System.out.println("\nDeletelist");   
    return d_list;    
} 

私はd_listに戻って使いたいです。

public class CacheManager { 
    public void DeleteCache(){ 

     ArrayList<String> d_name= new ArrayList<String>(); 
     DBManager name =new DBManager(); 
     for(int i=0;i<d_name.size();i++){ 
      d_name.addAll(i,name.deleteList(d_list)); 
     } 
     for(int j=0;j<d_name.size();j++){ 
       System.out.print("\n" +d_name.get(j)); 
      } 

    } 
    public void SendList(){    
    } 

    public static void main(String[] args) 
    { 
     CacheManager c = new CacheManager(); 
     c.DeleteCache(); 
    } 
} 

が、常にエラーメソッドを作成します!! ... 私はDeletCache()の部分を修正する方法がわかりません。 Plase help me。ありがとうございました。

答えて

0

whileループやその他の場所でリストに追加する方法にエラーがあります。

それはあなたがカウンターを必要といけない

 while(rs.next()){ 
     String A = rs.getString("f_Name"); 
     d_list.add(A); 
     } 

ようにする必要があります。

+0

大文字で変数に名前を付けるのは良いコードスタイルではありません。だから、文字列 ' – Blobonat

+0

を正しく使うこと。私はコードをコピーしました。 –