2016-04-28 4 views
0

N個の要素を互いにリンクしたいと考えています。つまり、要素1は要素1、要素2、要素3 .....要素Nと一定の値の関係にあります。同様に、要素2は要素1、要素2、要素3などと値の関係にあります。 。 また、これらの値をすべてファイルに保存し、定期的に変更したいと考えています。私はJavaでのコーディングが好きです。どうすればN要素を互いにリンクできますか?

この問題の解決策は何ですか?

私は殴られました。

+0

リンクリスト? –

+0

要素はどのようにして自分自身と関係を持つことができますか? –

+0

Javaで外部キー(SQL)の概念を実装しますか?リンクされたリストはあなたにこの機能を与えることができます。しかも、それは私の学校のようなものです。あなたがしたことを私たちに示してください。私たちはあなたを助けるより良い立場にいます。それがなければ、私たちがあなたに「完璧な解決策」を与えることを期待しないでください。 – Aakash

答えて

0

グリッドがあります。各要素は、互いに要素との関係値を持ちます。すなわち、(要素数)^ 2の関係値があります。

私は配列を使用します。次に、配列をシリアライズしてファイルとして保存し、デシリアライズしてロードし、編集してから再シリアライズします。

はここで、ファイルやバックアップに保存するには、いくつかのJavaコードです:

import java.io.File; 
import java.io.FileInputStream; 
import java.io.FileOutputStream; 
import java.io.IOException; 
import java.io.ObjectInputStream; 
import java.io.ObjectOutputStream; 
import java.util.Arrays; 

public class Grid { 

    public static void main(String[] args) throws Exception { 

     // your data grid 
     int num_elements=10; 
     double[][] grid=new double[num_elements][num_elements]; 

     // populate the grid 
     // note grid[m][n] holds the value for the relationship 
     // between element m and element n 
     grid[0][0]=1.0; 
     grid[0][1]=0.5; 
     // etc... 

     System.out.println(Arrays.deepToString(grid)); 

     // save the grid 
     write_object(grid, "grid.data"); 

     // clear the grid (eg happens when you rerun your program) 
     grid=null; 

     // load the grid 
     grid=(double[][])read_object("grid.data"); 
     System.out.println(Arrays.deepToString(grid)); 

     // do some changes 
     grid[0][0]=2.0; 
     grid[0][1]=1.5; 
     // etc... 

     // save the grid (again) 
     write_object(grid, "grid.data"); 

     // and so on 

    } 


    public static void write_object(Object no, String nfilename) { 
     try { 
      File f=new File(nfilename); 
      if (f.exists()) 
       f.delete(); 
      FileOutputStream fos=new FileOutputStream(nfilename); 
      ObjectOutputStream oos = new ObjectOutputStream(fos); 
      oos.writeObject(no); 
      oos.close(); 
     } 
     catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 

    public static Object read_object(String nfilename) { 
     try { 
      FileInputStream fis=new FileInputStream(nfilename); 
      ObjectInputStream ois = new ObjectInputStream(fis); 
      Object o=ois.readObject(); 
      ois.close(); 
      return o; 
     } 
     catch (IOException | ClassNotFoundException e) { 
      e.printStackTrace(); 
     } 
     return null; 
    } 

} 
関連する問題