Java サンプル

update: 5/20/2010


文字列などのプログラムサンプルです。
御利用下さい。

Top Page へ

Java 1.1 で作成されています。
詳細は Visual J++6.0 の基礎知識 をご参照下さい。

Contents

文字列から1字取り出す 
Keyword 検索
文字コード表の利用
CSVファイルの入出力
(CG) 中心座標の円
(3D-CG) ベクトル配列の引数
2次元配列のサイズ取得
リンク




◎ 文字列から1字取り出す
(例) String s00 の n 番目の文字を取出す
 
String str_n =StrDim(s00,n);
 
 
public String StrDim(String str,int i){
   
        char ch = str.charAt(i);
        String str_ch = new String(); 
        return str_ch.valueOf(ch);
    }   
 

top


◎ Keyword 検索
(例)ファイルから読みこんだ String を1行ずつ Keyword と比較していきます。
 
String conTent[i];        // ファイル第i行   
String keyword;           // 検索キーワード
String Line[i];           // キーワード該当行を保存する配列
int    line_num;          // Line の行番号
 
 
for(int i=0;i<=file_row;i++){
 
  //文字列長を取得
    conTentLength = conTent[i].length();
    keywordLength = keyword.length();
 
  // 第 i 行に keyword があるか検査していく
    for(int j=0;j < conTentLength-keywordLength;j++){
 
  // 第 i 行の j 文字目から単語を取得する	        
    String compconTent=conTent[i].substring(j,j+keywordLength);
 
  // keyword と一致した場合               
    if((compconTent.equalsIgnoreCase(keyword))==true){  	
 
       //Line[] に保存
     Line[line_num] = conTent[i]+"\n";
       line_num++;
 
      }
    }
  }
 

top


◎ 文字コード表の利用
(例) Ascii コードのような文字コード表を利用して、8文字のパスワードを
数値変換してファイルに保存します。 for(int m=1;m<=8;m++){ String str_n = CharNum(str[m]); dos00.writeBytes(str_n); } public static String CharNum(String bitchar){ String c = bitchar; String hx = null; if(bitchar.equals("a")){ hx="00";} if(bitchar.equals("b")){ hx="01";} if(bitchar.equals("c")){ hx="02";} if(bitchar.equals("d")){ hx="03";} if(bitchar.equals("e")){ hx="04";} if(bitchar.equals("f")){ hx="05";} if(bitchar.equals("g")){ hx="06";} ... return hx; }

top


◎ CSV ファイルの入出力
正式名称 Comma-Separated Value ファイルの入出力処理です。
char と String の関係、比較演算に悩まされました。
 
i) %jview FileIO save でプログラム内のデータを datafile.txt に出力します。
 
ii) % jview FileIO load で datafile.txt のデータを出力します。
 
ファイルの終了は良くエラーになりますが、文字列 EOF の記入方式にしました...
 
(主要部分)
 
   for(int k=0 ; k<=str.length()-1 ; k++){
   
   Character ch = new Character(str.charAt(k));
 
   if(ch.toString().equals(",")==false){
 
      	//System.out.println("データ"+ row +" "+col);
	str_elm[row][col] += ch.toString();
 
      }else{
	//System.out.println("区切り文字");
	col++;
      }
   }
 
サンプルファイルのダウンロード

top


◎ (CG) 円の中心座標による描画
長方形方式の描画を変えました...
 
 
FillCircle(200, 200, 20,  0, 360);
 
void FillCircle(int x, int y, int rad, int th_s, int th){
  g_ca  = ca.getGraphics();
  
  g_ca.fillArc( (x-rad), (y-rad), 2*rad, 2*rad, th_s, th);
 
}
 

top


◎ (CG) ベクトル配列の引数
 
P点とQ点を結ぶベクトル PQ のノルムを計算する関数に
配列情報を渡します。
 
...
double vpq[]= new double[3];
 
for(int j=0; j<3; j++){
   vpq[j]=vq[j]-vp[j];
}
 
double norm_lq=norm(vpq,3);
...
 
 
double norm(double a[],int n){
 
 double ans=0;
 for(int i=0; i<n; i++){
    ans+=a[i]*a[i];
    }
    return Math.sqrt(ans);
}
 

top


◎ 2次元配列のサイズ取得
 
2次元配列の行数、列数を取得します。
 
double X[][]=new double[3][4];
...
 
System.out.println("行 = "+X.length);
System.out.println("列 = "+X[0].length);
 

top


◎ リンク

- @IT Java サンプル集 ... Java SE コアAPIの使用コード例の記事

top


@tmlbworks