TopPage > Q&A

Javaプログラミング全般に関すること

コードを修正しても,修正前のプログラムが実行される.

  1. プログラムのファイル名は間違っていませんか? ファイル名を確認して,もう一度javajavacを実行してみましょう.
  2. ソースコードの保存はしましたか? もう一度保存してからjavac, javaを試してみてください.
  3. クラス名やファイル名を変更している場合:
    旧クラス名がソースコード中に残っていませんか?とくに,次の例では
    class NewClass {                                // OldClass→NewClassに書き換えた
        public static void main(String[] args){
            OldClass foo = new OldClass();          // ←まだOldClassのまま!
        }
    }
    netprogフォルダに,OldClass.classファイルが残っていると,エラーにならずに修正前(古いクラス)のコードが実行されてしまいます.

自分が使っているマシンのIPアドレスがわからない

IPアドレスを調べる方法のページを参照してください.

コマンドラインに日本語を入れる方法

コマンドラインに日本語をいれるには,[Alt]キーを押しながら,[半角/全角]キーを押すことで,日本語変換モードになります.

自分のパソコンで演習をやりたい(Java開発環境の導入)

Javaの開発プログラムキット(JDK)はフリーでダウンロードできます.

以下にダウンロード手順を示しますが,あくまで自己責任でやってください

(1) http://java.sun.com/javase/ja/6/download.html で,JDK 6 Update ** の横にある[Download]ボタンをクリックしてください.

(2) PlatformをWindowsにして,「I agree to the Java SE Development Kit 6u** License Agreement」の横のチェックボックスをクリックしてから [Continue]ボタンをクリックします.

(3) jdk-6u**-windows-i586.exe をクリックします.

(4) インストールは画面の指示に従ってください.

なお,JDKは30MB〜50MB程度ありますので,ダウンロードする時には注意してください.

演習で使用しているエディタ(サクラエディタ)は

http://sakura_editor.at.infoseek.co.jp/snapshot.html

にあります.

演習課題に関すること

演習3-2 [改良1]のテストの方法が分からない

複数のPC間での通信は,下記の方法でできます.

  1. 2台のPCを起動する(以下,PC1,PC2とします)
  2. PC1のIPアドレスを調べる(調べ方は「IPアドレスを調べる方法」を参照)
  3. PC1でサーバを起動する
  4. PC1でクライアントを起動する(IPアドレスは入力しない,もしくは[localhost]と入力)
  5. PC2でクライアントを起動する(IPアドレスは2で調べたPC1のIPアドレスを入力する)

最終課題作成に関すること

クライアントからサーバに接続すると,サーバがメッセージを受信し続ける(永久ループ)状態になる

おそらく,クライアントの受信ループを突然終了させている可能性が高いです.

public class MesgRecvThread extends Thread {
  :
 public void run() {
   :
   while(true) {
     String inputLine = br.readLine();
     if (inputLine != null) {  // ★
        :
       if(cmd.equals("MOVE")){
             :
         :MOVEの処理
             :
           }  // 続けてelse if(別の命令)を書いてもよい
     }else{  // ←このelseは,★のif文に対応している!
       break;
     }
   }
  socket.close();
 }

★印のif文とelse文の対応に注目してください. (つまり,br.readLine()の結果がnullの場合に,whileループをbreakします)

whileループをbreak(終了)すると,socket.close()の行で,サーバとの接続を閉じてしまいます. 一度接続を閉じると,対戦相手との通信ができなくなるほか,サーバ側にもnullメッセージが飛ぶため,サーバの暴走につながるようです.

※コードを読みやすくするために,[Tab]キーを使って,きちんと字下げをすることをお勧めします.

タイトル画像など,ボタン以外の画像を貼りたい.

画像を使ったボタンを生成する時は,JButton型を使用していましたが,クリックする必要のない画像の場合はJLabel型を使用します. あとは,setBoundsなどを使用して場所の移動などを行ってください.

以下に使い方の例を示します.

ImageIcon titleImage = new ImageIcon("title.jpg");//タイトル画像
JLabel titleLabel = new JLabel(titleImage);//ラベルを生成
c.add(titleLabel);//ペインに貼り付ける
titleLabel.setBounds(0, 0, 200, 100);//(x座標,y座標,xの幅,yの幅)

Javaに貼り付けた画像ファイルが表示されない.

PhotoshopやIllustratorなどで,オプションを変更して画像を保存した場合,一般的ではない画像ファイルが生成されることがあります.
Webブラウザで表示可能な画像ファイルは,おおむねJavaでも使えますので,一度Webブラウザで確認してみてください.

解決策としては,別のファイル形式(PNGなど)で保存してみてください.

提出課題のプログラムが,どうしてもうまく動きません!

レポート作成・送信に関すること

画面キャプチャの方法が知りたい

ファイルの圧縮方法が知りたい

課題メールの送信ができない.(エラーが出る)

課題を家のメールから提出してもいいですか?

その他

自宅から大学のデータを取得する方法

  1. WinSCPというソフトをダウンロードする
    1. http://winscp.net/eng/download.php にアクセスする
    2. Installation packageをクリックしてダウンロードする
  2. WinSCPをインストール
    1. 最初の画面で日本語を選択すると画面UIが日本語になります.
  3. WinSCPの設定
    1. 起動する
    2. 右の「新規」ボタンをクリック
    3. ホスト名を「com.center.wakayama-u.ac.jp」に,ユーザ名とパスワード欄に大学のアカウント(s1*50**)とパスワードを入れる
    4. 保存をクリック→OKをクリック
    5. 先ほど作ったアカウントを選択して,下の「ログイン」をクリック
    6. 一番最初だけ警告が出ます,「更新」をクリック

これで,大学のデータにアクセスできるはずです.ほしいデータをデスクトップなどにドラッグアンドドロップすれば取得できます.なお,My Documentフォルダはwindowsフォルダの中にあります.

演習ページの内容がおかしい


トップ   一覧 単語検索 最終更新     最終更新のRSS