サンプルJava 1.1 で作成されています。
詳細は Visual J++6.0 の基礎知識 をご参照下さい。
| ◎ 文字列から1字取り出す | |
| ◎ Keyword 検索 | |
| ◎ 文字コード表の利用 | |
| ◎ CSVファイルの入出力 | |
| ◎ (CG) 中心座標の円 | |
| ◎ (3D-CG) ベクトル配列の引数 | |
| ◎ 2次元配列のサイズ取得 | |
| ◎ リンク | |
(例) 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);
}
(例)ファイルから読みこんだ 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++;
}
}
}
(例) 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; }
正式名称 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++;
}
}
→ サンプルファイルのダウンロード
長方形方式の描画を変えました...
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);
}
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);
}
2次元配列の行数、列数を取得します。
double X[][]=new double[3][4];
...
System.out.println("行 = "+X.length);
System.out.println("列 = "+X[0].length);