プログラミング基礎・同演習
LinuxからのJavaのコンパイルと実行
演習の参考
演習の達成目標
Linux上でJavaのコンパイルと実行
- エディタを利用し、Javaのソースコードの編集が出来る。
- Javaのコンパイルが出来る。
- Javaの実行が出来る。
- Javaのプログラム(ソースコード)を印刷することが出来る。
演習(エディタの利用と印刷)
- java ディレクトリへ移動する。(cdコマンドの利用)
java ディレクトリが無い場合は事前に mkdir コマンドで作成すること。
$ cd java
- ファイル名を指定してエディタをを起動する。
Emacsの場合(最後の & を忘れずに入力)
$ emacs test.txt &
viの場合
$ vi test.txt
- エディタでファイルに自分の氏名を記入し、保存する。
- ファイルが出来ているかを確認する。(lsコマンドの利用)
$ ls
- ファイルを印刷する。
$ nkf -e test.txt | mpage -2f -bA4 | lpr -Pプリンタ名
※プリンタ名 はディスプレイの右上に貼ってある標準プランタ名 LP???? を入力する
※1枚の用紙に1ページで印刷する場合は、mpage -1f にする
上記がうまくいかない場合は mpage を省く
$ nkf -e test.txt | lpr -Pプリンタ名
Javaのコンパイル・実行の手順
- 作業は全て java ディレクトリで行う。
$ cd java
- エディタでJavaのプログラム (〜.java)を作成・修正する。
〜のところにはプログラム名=クラス名が入る。以下同様
Emacsの場合
$ emacs 〜.java &
viの場合
$ vi 〜.java
- エディタでJavaのプログラム (〜.java)を保存する。(ファイル名に注意!)
- Javaのプログラムをコンパイルする。(javacコマンド)
$ javac 〜.java
- コンパイルでエラーが出なかったかを確認する。(何も表示されなければOK)
- コンパイルで作られたクラスファイル(〜.class)を実行する。(javaコマンド)
$ java 〜
- 実行結果を確認する。(期待通りならOK)
- もし、コンパイルや実行で問題が起きたら、2.からやり直し
演習課題
例題1 プログラム(ソースコードとも言う)
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
例題1のプログラムを次のように文字列を表示するプログラムに変更せよ
Hello, World! I'm (ここに自分の名前) .
正しく実行できることを確認の上、プリンタ名などは担当者の指示に従い印刷。
$ nkf -e HelloWorld.java | mpage -2f -bA4 | lpr -Pプリンタ名
上記がうまくいかない場合は mpage を省く
$ nkf -e HelloWorld.java | lpr -Pプリンタ名
エラーが起きた場合
- プログラムにエラーがある場合、javacコマンドでコンパイルするとコンソールにエラー内容が表示される。
例)
/Kadai0_1.java:4: error: ';' expected
System.out.println("I am Java!")
^
1 error
- エラー箇所を探す
エラー表示を参考に、エラーを修正する。
上の例では、4行目の^の位置にセミコロン(;)が無いと警告している。
/Kadai0_1.java:4: error: ';' expected
System.out.println("I am Java!")
^
1 error
- エラー箇所を修正し、ファイルを保存した後、javacコマンドで再度コンパイルする。
エラーが出なければ、javaコマンドで実行し、期待した通りの結果が出力されるか確認する。
良くあるエラー
- 行の最後のセミコロン(;)忘れ。コロン(:)とセミコロン(;)の間違い。
System.out.println("Hello World"):× System.out.println("Hello World");〇
- 大文字小文字の間違い
system× System〇
- ピリオド(.)とカンマ(,)の間違い
System,out,println× System.out.println〇
- 数字とアルファベットの間違い
print1n× println〇
- 間違ったカッコを使っている。() [] {}はそれぞれ意味が違い、使える場所も違う。
System.out.println{"Hello World"};× System.out.println("Hello World");〇
- 全角を使っている。特に全角スペース。ダブルクォート("")の中以外では全角文字は使わないこと。
- スペース( )が必要な個所に入っていない。逆にスペースを入れてはいけない箇所に入っている。
ノートPCでVirtualBoxを利用する準備 (参考)
詳細はLinux設定方法(PDF)を参照
- 必要ならばVirtualBoxを最新に更新
- ノートPCでVirtualBoxを実行し、Linuxを立ち上げる。詳細
- Linuxの設定
- ユーザIDの変更
Linuxから印刷するためには、学内ネットワークのユーザ名と同じにする必要がある。
- chname [古いユーザ] [新しいユーザ]
※パスワードは表示されません
% su
[パスワードを入力]
# chname tuisuser j16000aa
# exit
%
- ユーザIDのパスワード変更 (passwd)
※パスワードは表示されません
% passwd
Changing password for user tuisuser.
Changing password for tuisuser.
(current) UNIX password: [現在のパスワードを入力]
New UNIX password: [新しいパスワードを入力]
Retype new UNIX password: [新しいパスワードを再度入力]
passwd: all authentication tokens updated successfully.
%
- ここで一度Linuxをログオフして、新しいユーザでログオンし直す
- ホームディレクトリに java/ ディレクトリを作成する。
% cd
% mkdir java
- 作成した java/ ディレクトリへ移動する。
% cd java
- 以降のJavaプログラミング作業は全て java/ ディレクトリで行う。
- VirtualBox終了方法
プログラミング基礎・同演習
mackin