データ構造とアルゴリズム論
|
|
|
- ふじきみ いまいだ
- 6 years ago
- Views:
Transcription
1 第 3 章. ファイルを用いたデータ入出力 学習のねらい 1 データをファイルへ出力する ( 書き込む ) 方法を学習する 2 データをファイルから入力する ( 読み込む ) 方法を学習する 大量のデータを処理する場合は ファイルからデータを読み込んでから処理を行います また プログラムが終了すると変数に記憶されたデータは消えてしまうので 処理結果を残すためにはファイルに保管しておくことが必要になります このようにファイルを用いたデータ入出力はコンピュータを使った処理の場合必須の技術です そこで本章では Java 言語を用いたファイルによるデータ入出力の仕方を学習しましょう 3-1 ファイルへの出力 1-ファイルへの書き込み方まず 簡単な例でデータをファイルに書き込む方法を学びましょう 次のようなフレームを作成してください ( 作成の際 プロジェクト名は Kiso3_1 として下さい ) jtextfielddata jbuttonwrite jlabelmessage そしてボタンクリック時のプログラムを次のように記述してください <プログラム> private void jbuttonwriteactionperformed(actionevent evt) { String Data=jTextFieldData.getText(); try { 6 // ファイル Test1.txt を出力ストリーム fw として定義する FileWriter fw= new FileWriter("Test1.txt"); 1 // fw への出力時にバッファリング機能をつける BufferedWriter bw= new BufferedWriter(fw); 2 // さらに出力時に便利なメソッドを使用可能にする PrintWriter fout = new PrintWriter(bw); 3 fout.print(" 出力データ :"+Data); // ファイルへの書き込み 4 jlabelmessage.settext(" 書き込み終了しました "); fout.close(); // ファイルを閉じる 5 catch(exception em) { 6 jlabelmessage.settext(" エラー発生 :"+em); 35
2 加えてプログラム (NewJFrame.java) の先頭行に以下の波線部を加えて下さい 以下 フ ァイルへの入出力を行う場合 これは必ず ( 毎回 ) 必要になります import java.awt.event.actionevent; import javax.swing.swingutilities; import java.io.*; 見慣れない命令が目につきますが それらの説明の前にまずは実行して動作を確認してみましょう このプログラムは 入力文字列欄に入力した文字列を Test1.txt というファイルに出力する ( 書き込む ) プログラムです 確認のため プログラムを起動させ入力文字列欄に これはテスト出力です と入力し [ 書き込み ] ボタンをクリックして下さい すると 待機中 というメッセージが 書き込み終了しました というメッセージに変わります このとき プログラム ( プロジェクト ) と同じフォルダ内 ( 今の場合 Kiso3_1 内 ) に Test1.txt というファイルができています そこで メモ帳や秀丸エディタなどの適当なテキストエディタで開き 次のように出力されていることを確認してください 出力データ : これはテスト出力です <Test1.txt> <プログラムの解説 > 0. ストリームについて Java 言語では入出力データをストリームという概念で表します ストリームとは流れという意味です 流れ と言われても最初はピンと来ないかもしれませんが 大量のデータをファイルに書き込むあるいは読み出す様は まさにデータが流れて行くように見えるためストリームと呼ばれているようです Java 言語では ファイルへのデータ入出力はストリームの制御 ( ストリームの行き着く先はどこか? 出力ファイルの指定 ストリームはどこから来るのか 入力ファイルの指定 ストリームをどのように区切って入出力するか? 等々 ) を行うことによって実現されます Java 言語では ストリームを制御するために各種のクラスを用意しています 以下 ファイルへの出力に用いられる FileWriter BufferedWriter そして PrintWriter というクラスの用い方を上の例を用いて解説しましょう 1 2などの番号は p.35 のプログラム中に付した番号に対応しています 36
3 1 出力ファイルの定義 -FileWriter クラス FileWriter fw= new FileWriter("Test1.txt"); によって FileWriter クラスのオブジェクトを fw という名前で生成しています 一般に あるクラスのオブジェクトを生成するためには クラス名オブジェクト名 = new クラスのコンストラクタと記述します クラスの定義やオブジェクトの生成については プログラミング テキストの第 7 章で学習しました 忘れてしまった人はテキストを読み返して下さい さて FileWriter クラスの場合 右辺のコンストラクタ FileWriter() のカッコ内に引数として出力ファイル名を指定します この文によって ここで扱うストリーム fw が ファイル Test1.txt に流れ着く出力ストリームとして定義されるのです 2 出力ストリームをバッファリング可能にする-BufferedWriter クラスファイルへデータの出力を行う場合 データ ( ストリーム ) を1 単位 ( 通常はバイト単位 ) 毎に転送すると ハードディスクなどファイル媒体側の受け入れ準備ができるまで待ち時間が発生し効率が悪くなります そこで 一旦 出力データをメモリにため込み ( 書き込み ) ファイル側の書き込み準備ができた段階で順次データを書き込む処理が行われます この処理をバッファリングと言います BufferedWriter bw= new BufferedWriter(fw); によって bw はバッファリング機能付きのストリームとなります 3 サービス機能を付加する -PrintWriter クラス ファイルへのデータ出力を行う場合 PrintWriter クラスに用意されている print() あるいは println() メソッドを用いるのが普通です *) そのため 次の文によって出力 ストリームを PrintWriter クラスの提供するサービス機能つきのストリームにしました PrintWriter fout = new PrintWriter(bw); なお 上では説明のために 3 つに分解して記述したのですが 通常は出力ストリームの定 義は次のように 1 行で ( 一度に ) 記述されます PrintWriter fout = new PrintWriter(new BufferedWriter(new FileWriter("Test1.txt"))); 本講義でも以下ではこのように 1 行で記述することにします *) 少し補足すると FileWriter クラスにもデータを書き込む write() というメソッドが用意されているのですが 実数値を出力できない またデータの改行を指定できないなど 実用上不便な点が多かったので PrintWriter クラスが開発され その中の print() および println() メソッドが使われるようになったのです 37
4 4 ファイルのクローズファイル処理を終了したら close() メソッドにより 必ずファイルを閉じなければなりません 5 エラー処理 -try~catch 文 FileWriter fw= new FileWriter("Test1.txt"); などのように 出力ストリームを定義する際 何らかの理由で指定したファイルを出力ファイルとして確保できなかった場合 (FileWriter クラスは )IOException という例外情報を発行します Exception( 例外 ) とは 想定通りに行かなかった場合 つまりエラーが発生した状態を指すプログラミング用語です Java 言語では Exception 情報を発行する事を Exception 情報を投げる と言います そして投げられた Exception 情報をキャッチ (catch) して ( エラーに対応した ) 適切な処理を行うよう 文法的に義務づけています 一般に ファイルの入出力を行う場合 try { ファイル入出力の処理 catch (Exception em){ エラーに対応した処理 ファイル入出力の場合 の定型の書き方 という形で処理を記述します 今の場合 エラー処理は catch(exception em) { jlabelmessage.settext(" エラー発生 :"+em); となっており これは エラー情報を ( ラベルに ) 表示させる処理を行うという意味です catch 文の () 内の引数 em には Exception の情報 つまりエラーメッセージが書き込まれ ているのです 少し説明が長くなりましたので 実際に色々な動作を確認することで理解を深めましょ う 上のプログラムに以下の波線部を追加して実行してみて下さい void jbuttonwrite_actionperformed(actionevent e) { String Data=jTextFieldData.getText(); try { fout.print(" 出力データ :"+Data); // ファイルへの書き込み fout.print( 次の出力 "); jlabelmessage.settext(" 書き込み終了しました "); 以下同じ 38
5 先程と同様に文字列入力欄に 次の出力 と入力してボタンをクリックすると ファイル Test1.txt の内容は次のようになっているはずです 出力データ : これはテスト出力です 次の出力 つまり print() メソッドを連ねると 該当文字列が ( 横に ) 続けて出力されます それでは 出力データ : これはテスト出力です <Test1.txt> 次の出力 というように 改行して出力するにはどうしたらよいでしょうか? そのためには 最初の print() メソッドを println() メソッドに変更すればよいのです 次のように書き換えて 実行してみて下さい 今度は 上のように改行して出力されるはずです fout.println(" 出力データ :"+Data); // ファイルへの書き込み fout.print( 次の出力 "); このように println() 文は () 内の文字列を出力後改行する という意味を持ちます 基礎課題 3-1 上の例では 文字列を採り上げましたが 整数でも同様に出力できます 上のプログラムに波線部の修正および点線枠の追加を行って実行して下さい fout.println(" 出力データ :"+Data); // ファイルへの書き込み fout.println(" 次の出力 "); int a=2,b=5; fout.println("a="+a+" b="+b); fout.println("a+b="+(a+b)); jlabelmessage.settext(" 書き込み終了しました "); そして Test1.txt にどのように出力されるかを確認し 枠内を埋めて下さい <Test1.txt の出力結果 > 出力データ : これはテスト出力です 次の出力 a=2 b=5 a+b=7 39
6 < 解説 > 文字列同士を + で結ぶと それは連結を意味する ということはこれまで学習した通りです しかし 上のプログラムでは整数型と文字列型を + 記号で結んでいます そんなことが許されるのか? と首をかしげた人もいることと思いますが Java 言語ではこのような書き方を認めています そして結果を確かめてみれば分かるとおり 整数と文字列が連結されて表示されます 例えば次のようなプログラムを考えた場合 int a=2; String Ans="a="+a; 文字列型変数 Ans の値は a=2 となります このように 文字列と整数を + 記号で結ぶ と 整数が自動的に文字列化され 文字列の連結として処理されます これは非常に便利 なので Java 言語では頻繁に利用されます もちろん 実数についても同様です 例えば int a=2; String Ans="a/4="+(a/4.0); というプログラムを実行すると 文字列型変数 Ans の値は a/4=0.5 となります 40
7 3-2 ファイルへの出力 2- ダイアログによるファイル名の指定 3-1 節では 出力ファイル名が固定されているものとして プログラム中で直接ファ イル名を指定していました しかし 実際には プログラム実行時にファイル名を指定で きた方が便利です 次の課題でその方法を学習しましょう 基礎課題 3-2 前節と同様 次のようなフレームを作成してください jtextfielddata jbuttonwrite 次に ファイル名を指定することができる JFileChooser というコンポーネントを使 用します その使い方は次の通りです 指示にしたがって設定して下さい jlabelmessage <JFileChooser の使用方法 > まず コンポーネントパレットの More Components タブにある JFileChooser コ ンポーネントを選択 ( クリック ) して下さい 続いて Eclipse ワークベンチの右側にある アウトライン ビューの inst NewJFrame をクリックして下さい すると 次ページの コンポーネント名 指定画面が現れるので ここでは jfilechooser1 のまま [OK] ボタンをクリックします 41
8 すると JFileChooser の表示内容であるファイル名指定画面がフレーム上に表示されま す 表示をフレームに戻すために アウトライン ビューの this JFrame ( フレームを意味します ) をクリックします すると フレームが表示されるようになります これで JFileChooser コンポーネントが使用可能になりました 次ページへ進んで下さい 42
9 以下の課題では 幾つかのファイルをデータ入出力に用います そこで それらファイルを一括して管理できるよう 適当な場所にファイル保管用のフォルダ IOFile を作成しておいて下さい フォルダ名は何でも良いのですが 以下では ファイル保管用フォルダ名が IOFile という名前であるとして説明しています そしてボタンクリック時のプログラムを次ページのように作成します private void jbuttonwriteactionperformed(actionevent evt) { String Data=jTextFieldData.getText(); try { // ダイアログボックスを開く jfilechooser1.showsavedialog(this); 1 // 出力ファイル名を指定する File FName=jFileChooser1.getSelectedFile(); 2 // 出力ストリームを定義する PrintWriter fout=new PrintWriter(new BufferedWriter (new FileWriter(FName))); 3 fout.println(" 出力データ :"+Data); // ファイルへの書き込み jlabelmessage.settext(" 書き込み終了しました "); fout.close(); // ファイルを閉じる catch(exception em) { jlabelmessage.settext(" エラー発生 :"+em); 内の先頭ではありませんので注意して下さい なお プログラムの先頭に import java.io.*; を追加することを忘れないようにして下さい ファイル名を指定している1~3 以外は前 節のプログラムと同じです その説明は後回しにして とりあえずプログラムを実行して みましょう 実行後 前節同様次のような起動画面が現れます p.36 で説明した通り プログラムの先頭です メソッド ここで次ページのように 入力文字列欄に これはテスト出力です と入力し [ 書き込 み ] ボタンをクリックすると 43
10 次のように出力ファイル指定のためのダイアログボックスが現れます ここで 次のよう に 先程作成した IOFile フォルダを指定します さらに ファイル名として output.txt を入力し [ 保存 ] ボタンをクリックすると ダイアログボックスは消え 元の画面に戻ります この時点で 出力ファイル output.txt に入力文字列欄に指定した文字列が書き込まれて います 確認のため [IOFile] フォルダ内の output.txt ファイルの中身を適当なエデ ィタでチェックしてみて下さい 次のように書き込まれているはずです 出力データ : これはテスト出力です <output.txt> このように JFileChooser コンポーネントを用いると プログラム実行時に任意のファ 44
11 イルを指定することができます それでは 次ページで先程のプログラムの 1~3 の意味 を確認しておきましょう <プログラムの解説 > 1 showsavedialog() メソッドにより 保存先のファイルを指定するダイアログボックスが表示されます () 内は通常 this を指定するものと理解しておいて下さい 2 getselectedfile() メソッドは ファイルダイアログボックスで指定したファイル名を返します ファイル名は File クラス( 型と考えて結構です ) の変数 ( オブジェクト ) に代入できます ここでは その変数名を FName としています 3 下線部に示したように 今まで "output.txt" 等と直接ファイル名を指定していた部分をファイル名の変数 FName に置き換えています 45
12 3-3 ファイルからの入力 1-ファイルからの読み込み方さて 本章の後半では ファイルからのデータ入力の方法を学習することにします 例として 基礎課題 3-2 で作成した出力ファイル output.txt を読み込んでその内容を表示させるプログラムを考えましょう 基礎課題 3-3 次のようなフレームを作成してください jlabelmessage jtextfielddata jbuttonread 基礎課題 3-2 と同様に入力ファイルを実行時にファイルダイアログボックスで指定する ので p.41 で説明した通り JFileChooser コンポーネントを設定して下さい そして ボタ ンクリック時のプログラムを次のように記述します private void jbuttonreadactionperformed(actionevent evt) { String Data; try { jfilechooser1.showopendialog(this); 1 File FName=jFileChooser1.getSelectedFile(); BufferedReader fin=new BufferedReader 2 (new FileReader(FName)); Data=fin.readLine(); // ファイルからの読み込み 3 jtextfielddata.settext(data); // 読み込んだデータの表示 fin.close(); jlabelmessage.settext(" 読み込み終了しました "); catch (Exception em) { jlabelmessage.settext(" エラー発生 :"+em); プログラムの冒頭に import java.io.*; を追加することを忘れないように注意 して下さい (p.36 参照 ) <プログラムの解説 > 1 ダイアログボックスで指定した ( 入力 ) ファイル名を受け取る部分は出力ファイルの場合と同じです ただし 入力先のファイルを指定するダイアログボックスを開く際には showopendialog() メソッドを用います 46
13 2 入力ストリーム fin の指定( 定義 ) です 出力ストリームの場合と比べて PrintWriter クラスに該当する部分がありませんが それ以外は出力ストリームの場合と同様です 3 readline() メソッドは 入力ストリーム ( 今の場合ファイル FName ) から1 行分だけ読み込み その値を文字列として返します プログラムの内容はほぼ理解できると思いますので早速実行して動作を確認してみましょう このプログラムを起動し [ ファイルからの入力と表示 ] ボタンをクリックします すると ファイル指定のためのダイアログボックスが現れるので ここで 基礎課題 3-2 で作成した output.txt を指定します ファイル名の指定後 [ 開く ] ボタンをクリックすると 元の画面に戻り ファイル output.txt の内容が表示されま す このプログラムを用いればどの様なファイルでも その内容を表示させることができ ます ただし 最初の 1 行分だけですが 47
14 基礎課題 複数行のデータの読み込み今度は 複数行のデータをファイルから読み込んでみましょう 入力ファイルとして 科目の HP の該当部分に掲載している input.txt ファイルをダウンロードし 前節で作成したフォルダ IOFile にコピーして下さい このファイルには 次のように あるテストの5 人分の得点がデータとして入力されています 今 このファイルからデータを読み込み このテストの平均点を表示するプログラムを考えましょう 作成するプログラムの動作内容は次の通りです <input.txt> jbuttonread jbuttonavg プログラムを起動すると左のような画面が現れます ここで [ データの読み込み ] ボタンをクリックすると jtextfieldavg 入力ファイルを指定するダイアログボックスが開くので ここで 今ダウンロードしたファイル input.txt を指定します その後 [ 開く ] ボタンをクリックすると 元の画面に戻り 表示が 読み込み終了しました に変わります この時点で入力データの読み込みは完了しています 続いて [ 平均点 ] ボタンをクリック すると テストの平均点が表示され ます 48
15 それではプログラムを作成しましょう 今の場合 簡単のためにデータの個数は5つであることが分かっていることにしましょう 作成に当たってポイントとなるのは次の点です 1 5つのデータ ( 得点 ) を保管するために 大きさが5の配列型変数を用意する 2 ファイルから1 行ずつデータを読み込む方法は 基礎課題 3-3 で分かっているので 5つのデータを読み込むには それを5 回繰り返せば良い 3 今の場合 読み込んだデータ ( 得点 ) を保管する配列型変数は ボタン [ データの読み込み ] とボタン [ 平均点 ] の2つのイベントハンドラ ( メソッド ) で共有 ( 参照 ) するので 配列型変数の宣言は メソッドの外で行わなければならない なぜならメソッドの中で宣言すると そのメソッド内でしか参照できないからである プログラミング テキスト 6-12 ローカル変数とインスタンス変数 参照 以上を念頭に置いてプログラムを記述すると次のようになります int[] Tokuten=new int[5]; // 得点を保管する配列 ( 整数型 ) int Num; // データの個数 1 private void jbuttonreadactionperformed(actionevent evt) { String Data; [ データの読み込み ] ボタン try { jfilechooser1.showopendialog(this); File FName=jFileChooser1.getSelectedFile(); BufferedReader fin=new BufferedReader (new FileReader(FName)); // ファイルからの読み込み Num=5; // データ個数の設定 for (int i=0;i<num;i++) { Data=fin.readLine(); 2 Tokuten[i]=Integer.parseInt(Data); jlabelmessage.settext(" 読み込み終了しました "); fin.close(); catch (Exception em) { jlabelmessage.settext(" エラー発生 :"+em); private void jbuttonavgactionperformed(actionevent evt) { // 平均点の計算 [ 平均点 ] ボタン int sum=0; for (int i=0;i<num;i++) { 得点の合計の計算 sum=sum+tokuten[i]; double Avg= sum/(double)(num); 3 jtextfieldavg.settext(string.valueof(avg)); 49
16 <プログラムの解説 > 1 5つのデータを保管する整数型配列変数 Tokuten とデータの個数を保管する整数型変数 Num を宣言します 場所は メソッド ( イベントハンドラ ) の外側ならどこでも良いのですが ここでは 分かりやすく [ データの読み込み ] ボタンクリック時のイベントハンドラの上に置きました 2 データの個数分だけ (1 行ずつ ) データを読み込み それを Tokuten[i] に順次代入しています データを読み込んだ段階では文字列型なので Tokuten[i] に代入する際には整数型への変換が必要であることに注意して下さい 3 ここで平均点を計算しています Java 言語のルールにより 整数 / 整数 は小数点以下が切り捨てられ整数になる という点に注意して下さい そのため 分母の Num を実数型に型キャスト ( 変換 ) しています 型キャストについては プログラミング テキスト p.86(2012 年度版 :p.84) を参照して下さい プログラム作成後は実行して動作を確認して下さい 50
17 3-4 ファイルからの入力 2- 連続したデータ読み込み 基礎課題 3-4 では予め入力データの個数が分かっているものとしていましたが 実際にはデータの個数が分からない状態で入力処理を行う場合が少なくありません そこで次の課題で ファイル中のデータの個数が予め分かっていない場合に対応できるように ( 基礎課題 3-4 のプログラムを) 改良しましょう 基礎課題 3-5 基礎課題 3-4 のプログラムにおいて 配列の大きさを下線部のように修正し データ 読み込み部分を枠線部のように修正して下さい それ以外は以前の通りです int[] Tokuten=new int[100]; // 得点を保管する配列 int Num; // データの個数 1 private void jbuttonreadactionperformed(actionevent evt) { String Data; [ データの読み込み ] ボタン try { jfilechooser1.showopendialog(this); File FName=jFileChooser1.getSelectedFile(); BufferedReader fin=new BufferedReader (new FileReader(FName)); // ファイルからの読み込み int i=0; while ((Data=fin.readLine())!=null) { Tokuten[i]=Integer.parseInt(Data); i++; Num=i; // データの個数の保管 2 jlabelmessage.settext(" 読み込み終了しました "); fin.close(); catch (Exception em) { jlabelmessage.settext(" エラー発生 :"+em); <プログラムの解説 > 1 予めデータの個数が決まっていないので 予想される最大個数程度を配列の大きさに指定しておきます ここでは 100 にしています 2 readline() メソッドによって ファイル中の最終データの次を読み込んだ場合 そこには何もないので null という特別の値になります null は 空っぽ という意味です while ((Data=fin.readLine())!=null) では 入力ストリームから 51
18 読み込んだ値を Data に代入し その値が null ではない場合 つまりデータが存在する限り読み込み続ける という条件指定になっています なお while ループ内の処理を行う回数は データの個数 に等しいので カウンタ i がそのままデータの個数になっています 上のように修正後 プログラムを実行し 前節同様きちんと動作することを確認して下 さい 基礎課題 3-6 基礎課題 3-5 のプログラムに 以下のように最高点を求め表示するボタンを加えて下 さい jbuttonmax 入力ファイルを指定してデータを読み込んだ後 [ 最高点 ] ボタンをクリックすると 最高点が表示される jtextfieldmax 下の枠内を埋めて最高点を求めるプログラムを完成させて下さい private void jbuttonmaxactionperformed(actionevent evt) { int MAX=Tokuten[0]; for(int i=1; i<num;i++) { ヒント jtextfieldmax.settext(string.valueof(max)); 最高点を求める処理は 2-3 配列の応用 - 最大 最小を求める の 基礎課題 2-4 ( p.23) と同じです 52
19 応用課題 3-A 基礎課題 3-6 に今度は ( 下のように ) 最低点を求める処理を加えて下さい 加えた部分 応用課題 3-B HP の該当部分より あるテストの得点の入ったファイル score.txt をダウンロードして下さい そして 応用課題 3-A のプログラムを用いて このテスト得点のデータの平均点および 最高点 最低点を求めて下さい <score.txt> このデータは 100 名以上です 配列の大きさを 150 に変更して下さい 次に 左のように [ データの読み込み ] ボタンをクリックした時に受験者人数を表示するように拡張して下さい 53
20 応用課題 3-C さらに 応用課題 3-B を拡張しましょう 今 テストの得点が 50 点以上であれば合格であるとしましょう そこで score.txt から得点を読み込んで [ 合格者 ] ボタンをクリックすると 合格者数を表示する部分を加えて下さい 54
21 3-5 1 行に複数のデータがある場合のデータ読み込み 3-4 節で ファイルからデータを読み込む際の一般的な方法を学習しました しかし そこでは 1 行に一つのデータが書き込まれていることが想定されていました ところが実際の場面では ファイルの1 行に複数のデータが書き込まれている場合が少なくありません その際は 個々のデータを区切って読み込む事が必要になります 本節では このようにファイルの1 行に複数のデータが存在する場合の読み込み方を学習します 基礎課題 3-7 HP の該当部分から ファイル score2.txt をダウンロードして下さい このファイルには右のように あるテストの結果が 氏名と得点という形で保管されています そして 氏名と得点はカンマ記号, で区切られています そこで このファイルから 氏名と得点を ( 別々に ) 読み込み その氏名だけを表示するプログラムを作成しましょう ( 基本的な部分は 基礎課題 3-5 のプログラムと同様です 異なるのは 氏名 と 得点 という2つのデータを読み込むという点のみです ) なお ダウンロードしたファイル score2.txt はこれまで同様 フォルダ IOFile に保存されているものとします <score2.txt> 花形満,55 轟次郎,63 金田正太郎,39 鮎原こずえ,87 浅丘ユミ,48 矢吹丈,70 東八郎,35 星明子,77 諸星団,59 伊達直人,44 作成するプログラムの動作結果は以下の通りです jbuttonread jlabelmessage jbuttondisplay プログラムを起動すると 次の画面が現れます ここで [ データ読み込み ] ボタンをクリックすると jtextarea1 55
22 入力ファイルを指定するためのダイアログボックスが現れます ここで ダウンロードしたファイル score2.txt を指定し [ 開く ] ボタンをクリックします すると データの読み込みが完了し 読み込み終了しました というメッセージが表示されます 続いて [ 表示 ] ボタンをクリックすると テキストエリアに 読み込んだ受験者の全員の氏名が表示されます なお フレームの設計に当たっては 3-2 節で学習した通り JFileChooser コンポーネン トを設定しておく事を忘れないようにして下さい (pp.41~42 参照 ) それでは プログラムの作成に取りかかりましょう まず プログラムの冒頭部に以下 の 2 行 ( 波線部 ) を追加して下さい import java.awt.event.actionevent; import javax.swing.swingutilities; import java.io.*; import java.util.*; java.io.* が必要なのはこれまで通りですが java.util.* が必要なのは この中に 複数のデータを区切って読み込む機能を有するクラスが入っている ( そしてここでそれを利用する ) からです [ データ読み込み ] ボタンのイベントハンドラ および 氏名と得点を保管する配列 そしてデータの個数を保管する変数の宣言は次の通りです 56
23 String[] Name=new String[100]; // 氏名を保管する配列 int[] Tokuten=new int[100]; // 得点を保管する配列 int Num; // データの個数 private void jbuttonreadactionperformed(actionevent evt) { String Data; try { [ データの読み込み ] ボタン jfilechooser1.showopendialog(this); File FName=jFileChooser1.getSelectedFile(); BufferedReader fin=new BufferedReader (new FileReader(FName)); int i=0; while ((Data=fin.readLine())!=null) { StringTokenizer tk=new StringTokenizer(Data,","); Name[i]=tk.nextToken(); Tokuten[i]=Integer.parseInt(tk.nextToken()); 1 2 i++; Num=i; jlabelmessage.settext(" 読み込み終了しました "); fin.close(); catch (Exception em) { jlabelmessage.settext(" エラー発生 :"+em); 枠線部以外は 基本的に 基礎課題 3-5 と同様なので説明は省きます ここでは 新し く出てきた StringTokenizer クラスについて説明すれば十分でしょう <StringTokenizer クラスについて> 1 StringTokenizer tk=new StringTokenizer(Data,","); によって StringTokenizer クラスのオブジェクト ( 変数と考えて結構です ) を tk という名前で生成しています 一般に new StringTokenizer( 文字列, 区切り記号 ) という形で生成したオブジェクトには 文字列 の中身が 区切り記号 で分解され 各々が順に ( 文字列として ) 保管されます 上の例で具体的に説明しましょう ファイルの最初の1 行が変数 Data に読み込まれとき Data の中身は次のようになっています 変数 Data の中身花形満,55 そして StringTokenizer tk=new StringTokenizer(Data,","); によって Data の中身は区切り記号, によって分解され tk の中身は次のようになります 57
24 1 番目のトークン 2 番目のトークン tk 花形満 55 区切られた個々の文字列を トークン と呼びます 2 StringTokenizer クラスには nexttoken() メソッドがあり これにより tk に保管されているトークンを順に取り出すことができます 今の場合 最初の nexttoken() メソッドで 氏名 が取り出され 2 番目の nexttoken() メソッドで得点が取り出される訳です 以上のように StringTokenizer クラスを利用することにより 任意の区切り記号で 区切られたデータを順次取り出すことができます 次に [ 表示 ] ボタンのイベントハンドラは次の通りです private void jbuttondisplayactionperformed(actionevent evt) { String Data=""; [ 表示 ] ボタン for (int i=0;i<num;i++) { Data=Data+Name[i]+"\n"; キーボード上では半角の です 使用 jtextarea1.settext(data); フォントによっては と表示されます 氏名を (1 行に 1 名ずつ ) 順に表示させるので Name[i]+ 改行記号 を連結させた結 果を jtextarea1 に表示させています プログラムを作成したら実行し 動作を確認して下さい 58
25 3-6 ファイル入出力の応用 応用課題 3-D 基礎課題 3-7 を修正して 次のように 最高点をとった人の氏名とその得点を表示させるプログラムを作成して下さい プログラムを起動すると次の画面が現れます ここで [ データの読み込み ] ボタンをクリックすると 入力ファイル指定のダイアログボックスが現れるので ここで score2.txt を指定します ここまでの動作は 基礎課題 3-7 と同じです データ読み込み完了後 [ 最高点 ] ボタンをクリックすると 最高点と それをとった人の氏名が表示されます <ヒント> 最高点を求める部分は 基礎課題 3-6 と同様です そこでは 勝ち抜き戦 方式で変数 MAX に最高点候補が順次代入されて行きました 最高点候補者の氏名についても 同様のこと ( 最高点候補を MAX に代入する時に その人の氏名を 最高点候補者氏名に対応する文字列型変数 例えば MaxName に代入する ) を行えばよいのです 59
26 応用課題 3-E 応用課題 2-B では 3 択のアンケートの集計を行うプログラムを考えました その際回答データはテキストエリアに直接書き込んだのですが その回答データをファイルから読み込むようにしましょう HP の該当部分からファイル Ank.txt をダウンロードして下さい このファイルには 150 名分の回答結果が書き込まれています 作成するプログラムの動作は次の通りです <Ank.txt> プログラムを起動すると 次のような画面が現れます ここで [ データ読み込み ] ボタンをクリックすると 入力ファイルを指定するためのダイアログボックスが現れるので ここで ファイル Ank.txt を指定します データの読み込み完了後 [ 集計 ] ボタンをクリックすると 選択肢 1~ 3それぞれの回答に対する度数が集計され表示されます 60
27 応用課題 3-F 次のような クイック保存機能のある簡易メモ帳を作って下さい プログラムを起動すると次 の画面が現れます 起動後 メモ帳 欄に適 当にメモを記入します ここで 作業を中断しなければならなくなったとします そこで [ メモを保存 ] ボタンをクリックし 今のメモの内容を保存しておきます そしてプログラムを終了させます 61
28 再び プログラムを起動し 作業を再開します 起動後 [ 保存したメモを呼び出す ] ボタンをクリックします すると 先程保存したメモの内容が表示されます <ヒント> 1 [ メモを保存 ] ボタンをクリックしたときに 適当なファイル ( プログラム中で指定 ) に jtextarea コンポーネントの内容を保管する ( 書き込む ) ようにします 2 [ 保存したメモを呼び出す ] ボタンをクリックしたときに 上で書き込んだファイルから1 行ずつ読み込みます 要領は 基礎課題 3-5 と同じです そして 読み込んだ内容を jtextarea コンポーネントに表示させれば良いのです 要領は 基礎課題 3-7 の [ 表示 ] ボタンのイベントハンドラと同様です < 補足 > jtextarea コンポーネントはそのままでは 行端で自動的に折り返してくれません つまり意図的に改行しない限り次行へ移りません これでは不便なので 自動的に行端で折り返すようにするためには次のようにします 右の様に jtextarea コンポーネントの linewrap プロパティ (Basic ではなく Expert 欄内にあります ) を true に変更します ( 最初は false になっています ) これにより 自動折り返しが有効になります 62
データ構造とアルゴリズム論
第 3 章. ファイルを用いたデータ入出力 学習のねらい 1 データをファイルへ出力する ( 書き込む ) 方法を学習する 2 データをファイルから入力する ( 読み込む ) 方法を学習する 大量のデータを処理する場合は ファイルからデータを読み込んでから処理を行います また プログラムが終了すると変数に記憶されたデータは消えてしまうので 処理結果を残すためにはファイルに保管しておくことが必要になります
データ構造とアルゴリズム論
Java jtextfielddata jbuttonwrite jlabelmessage void jbuttonwrite_actionperformed(actionevent e) { String Data=jTextFieldData.getText(); try { // Test1.txt fw FileWriter fw= new FileWriter("Test1.txt");
データ構造とアルゴリズム論
15 11 11 Java 21 231-0811 32 152-0033 1 Java 3-5,55,63,39,87,48,70,35,77,59,44 3-5 3-7 score2.txt 75 15 11 11 5-1 3-7 jbuttonread jbuttondisplay jlabelmessage jtextfieldname jtextfieldtokuten
データ構造とアルゴリズム論
第 5 章. 整列 ( ソート ) のアルゴリズム 学習のねらい 1 整列 ( ソート ) を行う基本的なアルゴリズム ( バブルソート 選択ソート 挿入ソート ) を学習し その処理の流れを理解する 2 3つのソートアルゴリズムの効率について考察する 3 ソートアルゴリズムを応用したプログラムを学習する 幾つかのデータを 値の大きい順や小さい順などのように 一定の基準に従って並べ替える操作を整列
第1章 ビジュアルプログラミング入門
付録 A 既存のクラスの利用の仕方 第 7 章では フレームクラス (NewJFrame.java) とそこから呼び出されるクラス (Meibo.java など ) を同じプロジェクト内 つまり同じパッケージ内に定義しました しかし 一般には 別のパッケージ ( フォルダ ) に保管されているクラスを利用する場合があります ここでは その方法を説明します なお フォルダは Java の用語ではパッケージに対応するので
データ構造とアルゴリズム論
15 11 18 A[0]A[4] 0 1 2 3 5 2 12 9 10 4 12 10 9 5 2 4 3 2 1 0 A 1,2,3,4,5 5,4,3,2,1 87 15 11 18 0 1 2 3 4 A 10 9 12 2 5 10 9 12 2 5 A[0]A[1] 9 10 12 2 5 A[1]A[2] 9 10 12 2 5 A[2]A[3] 9 10 2 12 5 A[3]A[4]
データ構造とアルゴリズム論
第 1 章.Java による CG 作成方法 2 学習のねらい 1 先週に続いて Java 言語 (Eclipse 環境における ) を用いて CG( コンピュータグラフィックス ) を作成する方法の基礎を学習する 今回は ( 作成した )CG が自動的に再描画される様にするための処理 ( のプログラミング ) を学習する 今回の学習で Java による CG 作成方法を終了し 次週以降は CG 作成のアルゴリズムの学
第1章 ビジュアルプログラミング入門
第 9 章アプレット 学習内容とねらい 本章では Java 言語で作ったプログラムを Web ブラウザ上で動作させる方法を学習します Java 言語には これまで作成してきた Windows アプリケーションの他に Web ブラウザ上で動作させる事のできるアプレットという形態があります このアプレットを利用すれば Web 上で Java プログラムを公開することもできます アプレットは Java 言語の普及当初は
Java講座
~ 第 1 回 ~ 情報科学部コンピュータ科学科 2 年竹中優 プログラムを書く上で Hello world 基礎事項 演算子 構文 2 コメントアウト (//, /* */, /** */) をしよう! インデントをしよう! 変数などにはわかりやすい名前をつけよう! 要するに 他人が見て理解しやすいコードを書こうということです 3 1. Eclipse を起動 2. ファイル 新規 javaプロジェクト
テキストファイルの入出力1
テキストファイルの入出力 1 0. 今回の目的前回までは 2 回にわたって繰り返しについて学んできました 今回からテキストファイルの入出力について学ぶことにします 1. テキストファイルへの出力 1.1 テキストファイルについてテキストファイルとは コンピュータで扱うことが出来るファイルの中で最も基本的なファイルであり どの様な OS でもサポートされているファイル形式です Windows においては
オブジェクト指向プログラミング・同演習 5月21日演習課題
オブジェクト指向プログラミング 同演習 5 月 21 日演習課題 問題 1 配列の例外処理例外が発生する可能性のある処理を try で囲み その後に catch で例外を捕捉します 例外処理の終了処理として finally が行われます これは書かなくて自動的に行われます 提出課題 1 (Kadai052301.java) 以下のプログラムは例外処理をしていない ArrayIndexOutOfBoundsException
C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ
C プログラミング演習 1( 再 ) 2 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 次のステップによって 徐々に難易度の高いプログラムを作成する ( 参照用の番号は よくわかる C 言語 のページ番号 ) 1. キーボード入力された整数 10 個の中から最大のものを答える 2. 整数を要素とする配列 (p.57-59) に初期値を与えておき
Prog2_9th
2013 年 11 月 21 日 ( 木 ) 実施例外処理 Java 言語では, 作成したプログラムを実行する際に, 記述した処理が想定しない事態によって実行できなくなる場合を例外と呼び, その例外への対処, 即ち例外処理が求められる これまでの教材に登場した例外の中で,IOException はコンパイラがチェックするため, 例外処理を必ず記述しなければコンパイルが出来ないものであるのに対して,ArithmeticException
<4D F736F F D2091E F196E291E889F090E C4816A82CC838C E646F6378>
公益財団法人全国商業高等学校協会主催 [2 級 Java 選択者のための問題 ] 平成 26 年度 ( 第 52 回 ) ( 平成 27 年 1 月 18 日実施 ) 情報処理検定試験 2 級プログラミング部門 Java 選択者のための問題 7 問 1 概要 誕生日を入力し 12 星座名を表示させる問題である 星座日と星座名を配列に各データを格納し 各配列の関連性 格納された星座日からどのようにして星座名を探索
ガイダンス
情報科学 B 第 2 回変数 1 今日やること Java プログラムの書き方 変数とは何か? 2 Java プログラムの書き方 3 作業手順 Java 言語を用いてソースコードを記述する (Cpad エディタを使用 ) コンパイル (Cpad エディタを使用 ) 実行 (Cpad エディタを使用 ) エラーが出たらどうしたらよいか??? 4 書き方 これから作成する Hello.java 命令文 メソッドブロック
第1章 ビジュアルプログラミング入門
第 3 章イベントとイベントハンドラ 学習内容とねらい Windows 上のプログラムは マウスクリックや特定キーの入力によって 所定の処理が始まることが普通です この時のマウスクリックなどの動作 ( アクション ) を イベント と呼びます そしてそのイベント発生時の処理内容を記述したプログラムを イベントハンドラ と呼びます handle( ハンドル ) にはさばく あるいは処理するという意味がありますが
Microsoft Word - VB.doc
第 1 章 初めてのプログラミング 本章では カウントアップというボタンを押すと表示されている値が1ずつ増加し カウントダウンというボタンを押すと表示されている値が1ずつ減少する簡単な機能のプログラムを作り これを通して Visual Basic.NET によるプログラム開発の概要を学んでいきます 1.1 起動とプロジェクトの新規作成 Visual Studio.NET の起動とプロジェクトの新規作成の方法を
JavaプログラミングⅠ
Java プログラミング Ⅰ 12 回目クラス 今日の講義で学ぶ内容 クラスとは クラスの宣言と利用 クラスの応用 クラス クラスとは 異なる複数の型の変数を内部にもつ型です 直観的に表現すると int 型や double 型は 1 1 つの値を管理できます int 型の変数 配列型は 2 5 8 6 3 7 同じ型の複数の変数を管理できます 配列型の変数 ( 配列変数 ) クラスは double
2
問題 次の設問に答えよ 設問. Java のソースコードをコンパイルするコマンドはどれか a) java b) javac c) javadoc d) javaw 設問. Java のバイトコード ( コンパイル結果 ) を実行するコマンドはどれか a) java b) javac c) javadoc d).jar 設問. Java のソースコードの拡張子はどれか a).c b).java c).class
Javaプログラムの実行手順
戻り値のあるメソッド メソッドには 処理に使用する値を引数として渡すことができました 呼び出し 側からメソッドに値を渡すだけでなく 逆にメソッドで処理を行った結果の値を 呼び出し側で受け取ることもできます メソッドから戻してもらう値のことを もどりち戻り値といいます ( 図 5-4) 図 5-4. 戻り値を返すメソッドのイメージ 戻り値を受け取ることによって ある計算を行った結果や 処理に成功したか失
1/8 ページ Java 基礎文法最速マスター Java Javaの文法一覧です 他の言語をある程度知っている人はこれを読めばJavaの基礎をマスターしてJavaを書くことができるようになっています 簡易リファレンスとしても利用できると思いますので これは足りないと思うものがあれば教えてください 1. 基礎 class の作成プログラムはclassに記述します たとえばSampleという名前のclassを作る場合
PowerPoint Presentation
工学部 6 7 8 9 10 組 ( 奇数学籍番号 ) 担当 : 長谷川英之 情報処理演習 第 7 回 2010 年 11 月 18 日 1 今回のテーマ 1: ポインタ 変数に値を代入 = 記憶プログラムの記憶領域として使用されるものがメモリ ( パソコンの仕様書における 512 MB RAM などの記述はこのメモリの量 ) RAM は多数のコンデンサの集合体 : 電荷がたまっている (1)/ いない
書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf
情報処理基礎 C 言語についてプログラミング言語は 1950 年以前の機械語 アセンブリ言語 ( アセンブラ ) の開発を始めとして 現在までに非常に多くの言語が開発 発表された 情報処理基礎で習う C 言語は 1972 年にアメリカの AT&T ベル研究所でオペレーションシステムである UNIX を作成するために開発された C 言語は現在使われている多数のプログラミング言語に大きな影響を与えている
ファイル入出力
C プログラミング Ⅱ の基礎 とは ファイルへデータを書き込んだり ( 出力 ), ファイルからデータを読み込んだり ( 入力 ) する C 言語では キーボードからの入力 画面への出力と同じようなコードで 処理を実現できる プログラム 入力 出力 ファイル 出力 入力 2 入出力の基本 ストリーム プログラム上で様々な装置への入出力を行う機構様々な入出力装置を統一的な方法で扱うことができる ハードディスクなどではファイルデータによって入出力が行われる
C#の基本
C# の基本 ~ 開発環境の使い方 ~ C# とは プログラミング言語のひとつであり C C++ Java 等に並ぶ代表的な言語の一つである 容易に GUI( グラフィックやボタンとの連携ができる ) プログラミングが可能である メモリ管理等の煩雑な操作が必要なく 比較的初心者向きの言語である C# の利点 C C++ に比べて メモリ管理が必要ない GUIが作りやすい Javaに比べて コードの制限が少ない
プログラミング基礎
C プログラミング Ⅰ 授業ガイダンス C 言語の概要プログラム作成 実行方法 授業内容について 授業目的 C 言語によるプログラミングの基礎を学ぶこと 学習内容 C 言語の基礎的な文法 入出力, 変数, 演算, 条件分岐, 繰り返し, 配列,( 関数 ) C 言語による簡単な計算処理プログラムの開発 到達目標 C 言語の基礎的な文法を理解する 簡単な計算処理プログラムを作成できるようにする 授業ガイダンス
メソッドのまとめ
メソッド (4) 擬似コードテスト技法 http://java.cis.k.hosei.ac.jp/ 授業の前に自己点検以下のことがらを友達に説明できますか? メソッドの宣言とは 起動とは何ですか メソッドの宣言はどのように書きますか メソッドの宣言はどこに置きますか メソッドの起動はどのようにしますか メソッドの仮引数 実引数 戻り値とは何ですか メソッドの起動にあたって実引数はどのようにして仮引数に渡されますか
データの作成方法のイメージ ( キーワードで結合の場合 ) 地図太郎 キーワードの値は文字列です キーワードの値は重複しないようにします 同じ値にする Excel データ (CSV) 注意キーワードの値は文字列です キーワードの値は重複しないようにします 1 ツールバーの 編集レイヤの選択 から 編
手順 4 Excel データを活用する ( リスト / グラフ 色分け ) 外部の表データ (CSV 形式 ) を読み込み リスト表示やカード表示 その値によって簡単なグラフ ( 円 正方形 棒の 3 種類 ) や色分け表示することができます この機能を使って地図太郎の属性情報に無い項目も Excel で作成し CSV 形式で保存することにより 自由に作成することができます (Excel でデータを保存するとき
PowerPoint プレゼンテーション
プログラミング初級 第 7 回 2017 年 5 月 29 日 配列 ( 復習 )~ 文字列 1 配列とは 2 配列 : 複数の変数をグループとしてまとめて扱うもの 配列 変数 int data[10]; 整数型の配列 同種のデータ型を連続して確保したものを配列とよぶ = 整数がそれぞれにひとつずつ入る箱を 10 個用意したようなもの int data; 整数型の変数 = 整数がひとつ入る dataという名前の箱を用意したようなもの
2
問題 1 次の設問 1~5 に答えよ 設問 1. Java のソースプログラムをコンパイルするコマンドはどれか a) java b) javac c) javadoc d) jdb 設問 2. Java のバイトコード ( コンパイル結果 ) を実行するコマンドはどれか a) java b) javac c) javadoc d) jdb 設問 3. Java のソースプログラムの拡張子はどれか a).c
プログラミング入門1
プログラミング入門 1 第 5 回 繰り返し (while ループ ) 授業開始前に ログオン後 不要なファイルを削除し て待機してください Java 1 第 5 回 2 参考書について 参考書は自分にあったものをぜひ手元において自習してください 授業の WEB 教材は勉強の入り口へみなさんを案内するのが目的でつくられている これで十分という訳ではない 第 1 回に紹介した本以外にも良書がたくさんある
2 / 16 ページ 第 7 講データ処理 ブック ( ファイル ) を開く第 6 講で保存したブック internet.xlsx を開きましょう 1. [Office ボタン ] から [ 開く ] をクリックします 2. [ ファイルの場所 ] がデータを保存している場所になっている
1 / 16 ページ コンピュータリテラシー B コース 第 7 講 [ 全 15 講 ] 2011 年度春学期 基礎ゼミナール ( コンピューティングクラス ) 2 / 16 ページ 第 7 講データ処理 2 7-1 ブック ( ファイル ) を開く第 6 講で保存したブック internet.xlsx を開きましょう 1. [Office ボタン ] から [ 開く ] をクリックします 2.
コンピュータ中級B ~Javaプログラミング~ 第3回 コンピュータと情報をやりとりするには?
Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved. 1 プログラミング初級 (Java) 第 4 回コンピュータと情報をやりとりするには? 白銀純子 Copyright (C) Junko Shirogane, Waseda University 2016, All rights reserved.
PowerPoint Presentation
ソフトウェア演習 B GUI を持つ Java プログラムの 設計と実装 4.1 例題 :GUI を持った電卓を作ろう プロジェクトCalculator パッケージ名 :example ソースファイル : Calculator.java GUI.java EventProcessor.java 2 4.2 GUI とイベント処理 GUI の構成 :Swing GUI の場合 フレーム JFrame:
PowerPoint プレゼンテーション
オブジェクト指向 プログラミング演習 第 4 回継承 オーバーライド ポリモルフィズム 今日のお題 継承 オーバーライド ポリモルフィズム 継承 (inherit) あるクラス c のサブクラス s を定義する : このとき s は c を継承していると言う 何かの下位概念を表すクラスは その上位概念を表すクラスの属性や機能を ( 基本的には ) 使える 継承の例 大学生 長崎県立大学の学生 大学生を継承する概念
PowerPoint Presentation
プログラミング基礎 第 2 週 (4,5,6 回 ) 2011-10-07 出村公成 この資料の再配布を禁止します 予定 プログラミング入門 (45 分 ) 変数 入出力 分岐 演習 (90 分 ) タッチタイプ練習 統合開発環境 Codeblocksの使い方 教科書例題の打ち込みと実行 プログラミング入門 C 言語の簡単な例を体験 変数 入出力 分岐 プログラムの例リスト 2.1 改 #include
JavaプログラミングⅠ
Java プログラミング Ⅰ 3 回目変数 今日の講義で学ぶ内容 変数とは 変数の使い方 キーボード入力の仕方 変 数 変 数 一時的に値を記憶させておく機能です 変数は 型 ( データ型ともいいます ) と識別子をもちます 2 型 変数に記憶できる値の種類です型は 値の種類に応じて次の 8 種類があり これを基本型といいます 基本型値の種類値の範囲または例 boolean 真偽値 true または
第1章 ビジュアルプログラミング入門
第 10 章補足 -Java プログラムを一から記述してみようー 学習内容とねらい これまで本テキストで扱ってきたのは主に Windows アプリケーション (Windows 上のボタンクリック等による動作するプログラム ) でした ですから 皆は Eclipse を用いて Windows アプリケーションを作成する方法には習熟したはずです 皆も経験した通り Eclipse( およびそこにプラグインされている
JavaプログラミングⅠ
Java プログラミング Ⅰ 6 回目 if 文と if else 文 今日の講義で学ぶ内容 関係演算子 if 文と if~else 文 if 文の入れ子 関係演算子 関係演算子 ==,!=, >, >=,
プログラミング実習I
プログラミング実習 I 05 関数 (1) 人間システム工学科井村誠孝 [email protected] 関数とは p.162 数学的には入力に対して出力が決まるもの C 言語では入出力が定まったひとまとまりの処理 入力や出力はあるときもないときもある main() も関数の一種 何かの仕事をこなしてくれる魔法のブラックボックス 例 : printf() 関数中で行われている処理の詳細を使う側は知らないが,
プログラミング基礎I(再)
山元進 クラスとは クラスの宣言 オブジェクトの作成 クラスのメンバー フィールド 変数 配列 メソッド メソッドとは メソッドの引数 戻り値 変数の型を拡張したもの 例えば車のデータベース 車のメーカー 車種 登録番号などのデータ データベースの操作 ( 新規データのボタンなど ) プログラムで使う部品の仕様書 そのクラスのオブジェクトを作ると初めて部品になる 継承 などの仕組みにより カスタマイズが安全
活用効果調査入力システム Ver3 システム操作説明書 平成 27 年 2 月
活用効果調査入力システム Ver3 システム操作説明書 平成 27 年 2 月 - 目次 - 1. インストール アンインストール... 1-1 1.1 インストール... 1-1 1.2 アンインストール... 1-4 2. システムの起動... 2-5 2.1 システムの起動方法... 2-5 3. メニュー... 3-1 4. 新規作成 編集... 4-1 4.1 ヘッダー部... 4-1 4.2
Ⅰ. 問題を 1 問ずつ入力していく方法 1. 挿入 メニューから e- ラーニング を選び テスト をクリックして下さい 2. 新規テストの作成ウィザード ( テストの設定 ) が開くので各項目を設定して下さい ここでは 名称を 確認問題 満点を 5 点 合格点を 3 点 制限時間なしで設定します
ホームページ ビルダー Ver.8 を利用した Web 教材作成マニュアル 目次 Ⅰ. 問題を 1 問ずつ入力していく方法 解説ページを設定する方法 採点結果をメールで送信する 機能について Ⅱ.CSV ファイルから一括して問題を作成する方法 このマニュアルは ホームページ ビルダー Ver.8がすでにお使いのパソコンにインストールされていることを前提に編集されています ホームページ ビルダー Ver.8は
た場合クラスを用いて 以下のように書くことが出来る ( 教科書 p.270) プログラム例 2( ソースファイル名 :Chap08/AccountTester.java) // 銀行口座クラスとそれをテストするクラス第 1 版 // 銀行口座クラス class Account String name
クラス ( 教科書第 8 章 p.267~p.297) 前回は処理をまとめる方法として メソッドについて学習した 今回はメソッドとその処理の対象となるデータをまとめるためのクラスについて学習する このクラスはオブジェクト指向プログラミングを実現するための最も重要で基本的な技術であり メソッドより一回り大きなプログラムの部品を構成する 今回はクラスにおけるデータの扱いとクラスの作成方法 使用方法について説明していく
Android Layout SDK プログラミング マニュアル
プログラミングマニュアル Version 1.3.0 用 更新履歴 年月日 バージョン 履歴 2014.09.08 1.2.0.0 新規 (Layout Utilities ユーザーズ ガイド ) 2016.08.16 1.3.0.0 モバイル端末用レイアウトで直線部品と矩形部品に対応 モバイル端末用レイアウトファイルを CLFX から XML へ変更 Layout Print Engine から
情報処理演習 B8クラス
予定スケジュール ( 全 15 回 ) 1 1. 終了 プログラミング言語の基礎 2. 終了 演算と型 3. 終了 プログラムの流れの分岐 (if 文,switch 文など ) 4. 終了 プログラムの流れの繰返し (do, while, for 文など ) 5. 終了 中間レポート1 6. 終了 配列 7. 終了 関数 8. 終了 文字列 ( 文字列の配列, 文字列の操作 ) 9. 終了 ポインタ
Microsoft Word - VBA基礎(6).docx
あるクラスの算数の平均点と理科の平均点を読み込み 総点を計算するプログラムを考えてみましょう 一クラスだけ読み込む場合は test50 のようなプログラムになります プログラムの流れとしては非常に簡単です Sub test50() a = InputBox(" バナナ組の算数の平均点を入力してください ") b = InputBox(" バナナ組の理科の平均点を入力してください ") MsgBox
PowerPoint Presentation
ファイルの入出力 芝浦工業大学情報工学科 青木義満 今回の講義内容 ファイル入出力 ファイルからのデータ読込み ファイルと配列 2 1 ファイルへのデータ書き込み ( 復習 ) ソースファイル名 :fileio1.c データをファイルに書き込み #include int main(void) { ファイルポインタ宣言 int student_id = 100; char name[
Microsoft Word - Mac版 Eclipseの導入と設定.docx
Mac OS X 版 Eclipse の導入と プログラムの作成方法 このドキュメントは下記のシステムで検証しました -1- Copyright (C) Takashi Kawaba 2012 目次 A. Eclipse を日本語化する 1. ダウンロードと解凍 3 2. features フォルダ内のファイルをコピーする 3 3. plugins 内のファイルをコピーする 4 B. Eclipse
今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順 ) になるよう 並び替えること
C プログラミング演習 1( 再 ) 4 講義では C プログラミングの基本を学び 演習では やや実践的なプログラミングを通して学ぶ 今回のプログラミングの課題 ( 前回の課題で取り上げた )data.txt の要素をソートして sorted.txt というファイルに書出す ソート (sort) とは : 数の場合 小さいものから大きなもの ( 昇順 ) もしくは 大きなものから小さなもの ( 降順
【第一稿】論文執筆のためのワード活用術 (1).docx.docx
ワード活用マニュアル レポート 論文の作成に欠かせない Word の使い方を勉強しましょう ワードはみんなの味方です 使いこなせればレポート 論文の強い味方になってくれます 就職してからも必要とされるスキルなのでこの機会に基本的なところをおさえちゃいましょう 各セクションの最後に練習問題があるので HP に添付されているワークシート (http://www.tufs.ac.jp/common/library/lc/word_work.docx)
