・2009年5月 橋本


河原林研究室 >> EcoBe!ダンスGUI >> 2009年5月 橋本

今月の目標 (実際)

  • JavaFXプログラム作成。(0%)
    • JavaFXでは組んでいない。
  • Javaの基本。(if,while,for) (80%)
    • テキストファイルの入出力までは読み進めた。
  • EcoBe?!に動作プログラムを書き込む (60%)
    • 書き込み基盤が壊れていたため、書き込めてはいない。プログラムは作った。

今週の目標(4/30〜5/7)

  • Javaの基本について調べる。(version 1.6)
  • Webサイト(Javaプログラム作成手順 Javaの基礎 文字列と数値)をやる。

2009-5-1(Fri)13:20〜18:00

  • Javaの基本について調べる。(version 1.6)
  • NetBeansでsample.javaを作ってみる。


http://www.netbeans.org/kb/60/index_ja.html
http://www.netbeans.org/kb/trails/matisse.html

2009-5-7(Thu)13:20〜17:00

  • String
String str ="あいうえお。";
str = str + "かきくけこ。";
  • 演算子(論理演算子)まで読み進めた。
    • ifを使う。結果として、式にtrue,falseとなる。

今週の目標(5/7〜5/14)

  • EcoBe?!にプログラムを書き込んでみる。

2009-5-8(Fri)〜5/10(Sun)10:00〜

  • 京セラドーム大阪

今週の目標(5/14〜5/20)

  • EcoBe?!にプログラムを卒研室で書き込んでみる。(60%)

出来た事・分かった事

  • ATMEL SAM-BAのインストール
  • ARMプロセッサ用のGCCをインストール

問題点

  • 基板が壊れている

Todo

  • 出来たところまでの書き込み手順をまとめる
  • Java:ファイルOpenと書き込み

2009-5-14(Thu)13:20〜18:00

  • ARMの書き込み環境:ATMEL SAM-BAのインストール
  • ARMのコンパイル環境2:ARMプロセッサ用のGCCをインストール
  • GCCが上手くインストールできてなかったようでコンパイラが動かない。

2009-5-15(Fri)13:20〜16:30

  • 吉田PCにGCCをインストール。
    • 橋本PC、相変わらず動かず。吉田PC、動く。
  • 書き込みできず。
    • ドライバがインストールされていなかったよう。... そもそも基板(プログラマが壊れていた)のが原因のようotz by河

今週の目標(5/21〜5/27)

  • EcoBe?!プログラム書き込み手順の出来たところまでまとめる。(100%)

出来た事・分かった事

  • EcoBe?!プログラム書き込み手順の出来たところまでまとめる。
    • うろ覚えだった部分を復習できた。
  • テキストファイルを読む
  • 読み込み事前確認
    • オブジェクトとは何かなんとなく分かった。

問題点

  • 書き込み手順が中途半端なところまでしか書けない。

Todo

  • Java:テキストファイルの入出力
    • 読み込み事前確認
    • まとめてテキストを読む
    • テキストをファイルに書き込む

2009-5-21(Thu)13:20〜17:30

//クラス名 オジェクト変数 = new コンストラクタ名(初期化値・・・);

File file = new File(file_name); 
 //オブジェクト変数file、初期化値file_nameを持つ、
 //fileオブジェクトの宣言・生成。

FileReader filereader = new FileReader(file);
 //オブジェクト変数filereader、初期化値fileを持つ、
 //filereaderオブジェクトの宣言・生成。

2009-5-22(Fri)13:20〜17:30

int ch; //変数の宣言。
while((ch = filereader.read()) != -1){ //ファイルから1文字読み込んだ値を変数"ch"に格納。格納された値が"-1"と同じかどうかを比較
  System.out.print((char)ch); //int型からchar型に変換して1文字表示。
}

TO DO

  • Java:テキストファイルの入出力
    • 読み込みの事前確認
    • まとめてテキストを読む
    • テキストをファイルに書き込む
    • ファイルに追加で書き込む
    • まとめてファイルに書き込む
    • 便利な書き込み用クラス

今週の目標(5/28-6/3)

  • Java:テキストファイルの入出力
    • 読み込みの事前確認
    • まとめてテキストを読む
    • テキストをファイルに書き込む
    • ファイルに追加で書き込む
    • まとめてファイルに書き込む
    • 便利な書き込み用クラス
  • 5月の目標と実際の比較、来月への改善点。
  • 6月の目標と各週の予定
  • Hさんにメール

出来た事・分かった事

  • テキストをファイルに書き込む方法が分かった。
    • 外部入力からファイルに書き込むことに成功。テキストエディタに1歩近づく。

問題点

  • JavaFXに触れていない。

TODO

  • テキストファイルの入出力
    • ファイルに追加で書き込む
    • まとめてファイルに書き込む
    • 便利な書き込み用クラス

2009-5-28(Thu)13:20〜18:00

  • 5月の目標と実際の比較、来月への改善点。
  • 6月の目標考える。
  • 電卓のサンプルプログラムを動かしてみる。<http://www.javadrive.jp/start/sample1/index1.html>
    • 動かない・・・。ウワァァ━━━━━。゚(゚´Д`゚)゚。━━━━━ン!!
  • 外側から入力できるようにしてみる。
package javaapplication1;

import java.io.*;
class dentaku{
  public static void main(String args[]) throws IOException{
    int val1 = 0;  /* 最初の数字 */
    int val2 = 0;  /* 次の数字 */
    
    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));

    System.out.println("1つ目の数字を入力。");
    String su1 = reader.readLine();
    System.out.println("演算子を入力。");
    String mo = reader.readLine();
    System.out.println("2つ目の数字を入力。");
    String su2 = reader.readLine();


    val1 = Integer.parseInt(su1);
    val2 = Integer.parseInt(su2);
    
    System.out.println("入力された式は " + val1 + " " + mo + " " + val2 + " です");
  }
}
  • 外側から入力するプログラムはできた。ヤタ━━━━━━ヽ(゚`∀´゚)ノウヒョ ━━━━━━!!!

2009-5-28(Fri)13:20〜17:00

  • 読み込みの事前確認<http://www.javadrive.jp/start/stream/index2.html>
    • 1)実際に存在するか。2)それがファイルなのか。3)読み込み可能なのか。を確認。
      private static boolean checkBeforeReadfile(File file){
        if (file.exists()){ //"exists"メソッドでファイルの存在を確認。
          if (file.isFile() && file.canRead()){ //"isFile"メソッドで対象のFileクラスオブジェクトがファイルであるかどうかを確認。
                                                //"canRead"メソッドで読み込み可能かどうかを判別
            return true;
          }
        }
        return false;
      }
      
  • まとめてテキストを読む<http://www.javadrive.jp/start/stream/index3.html>
    • FileResder?クラスに、BufferedReader?クラスをかぶせて使う。
      クラス機能効率
      FileResder?1文字ずつ読み込み、1文字ずつ処理する。
      BufferedReader?ある程度まとめて読み込み、まとめて処理する。
  • FileResder?クラスのオブジェクトを引数としてBufferedReader?クラスのオブジェクトを作成。
    File file = new File(file_name);
    FileReader filereader = new FileReader(file);
    BufferedReader br = new BufferedReader(filereader);
  • テキストファイルから1行分のテキストをまとめて読み込み、String型の値として返す。(改行文字は読み込んだ文字に含まれない。)
    ファイルの先頭の1行を読み込み、自動的に読み込む位置が次の行に移る。"readLine"メソッドを繰り返すことで、ファイルの先頭から最後まで順にテキストを読み込む。
    try{
      File file = new File("c:\\a.txt"); //cドライブのa.txtを開く。
    
      if (checkBeforeReadfile(file)){
        BufferedReader br = new BufferedReader(new FileReader(file));
    
        String str;
        while((str = br.readLine()) != null){ //最後の行まで繰り返す。
          System.out.println(str); //読み込んだ行を表示。改行文字は含まれないので"println"。
         }
        br.close(); //ファイルを閉じる。
      }
    }
  • テキストをファイルに書き込む<http://www.javadrive.jp/start/stream/index4.html>
    • テキストを書き込みたいファイルを対象にしてFileクラスのオブジェクトを作成し、
      そのオブジェクトを引数として"FileWriter?"クラスのオブジェクトを作成する。
    • "FileWriter?"クラスのオブジェクトを作成する場合、"IOException"という例外が発生する可能性があるため、例外の処理が必要。
      try{
        File file = new File("c:\\tmp\\test.txt");
        FileWriter filewriter = new FileWriter(file);
      }catch(IOException e){
        System.out.println(e);
      }
    • ファイルへの書き込みには"write"メソッドを使う。
      try{
        File file = new File("c:\\Sample.txt"); //"Sample.txt"に書き込む。
      
         if (checkBeforeWritefile(file)){
           FileWriter filewriter = new FileWriter(file); 
      
           filewriter.write("こんにちは\r\n");
           filewriter.write("お元気ですか\r\n"); //"\r\n"改行記号。
      
           filewriter.close(); //ファイルを閉じる。
         }
      } 
  • 応用
    • 外部入力を指定のテキストファイルに書き込む。
      package javaapplication1;
      
      import java.io.*;
      
      class JSample1_4{
        public static void main(String args[]){
          try{
            File file = new File("c:\\Sample.txt");
      
            if (checkBeforeWritefile(file)){
              FileWriter filewriter = new FileWriter(file);
              
              BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
              System.out.println("文字をどうぞ。");
              String su1 = reader.readLine();
              filewriter.write(su1);
      
              filewriter.close();
            }else{
              System.out.println("ファイルに書き込めません");
            }
          }catch(IOException e){
            System.out.println(e);
          }
        }
      
        private static boolean checkBeforeWritefile(File file){
          if (file.exists()){
            if (file.isFile() && file.canWrite()){
              return true;
            }
          }
      
          return false;
        }
      }

来月への改善点

  • Javaの1つの単元にかける時間を短縮。(要領よく進める。)
    • 進めるためにはどうするか?(by河のアドバイス)
      • 口を閉じて集中する。
      • 時間を増やす。