特集PC技術

Java言語入門 ~C言語を学んだ君へ~

 

[第12回]演習問題Ⅱ

第7~第11回で学習した内容をメインに演習問題を解いてもらいます。
もしわからない場合には、前のページに戻り必要な情報を調べてください。調べるのも勉強の1つです。

演習問題Ⅱ

以下の指示に従ってプログラムを作成しなさい。
なお、ファイル名は「Ex12_01.java」とし、すべて1つのファイルで作成する。

問題のインタフェース

プログラムを作成するにあたっての注意点

1.プログラムで使うインタフェースは上の画像の通りである。
「print()メソッド」はメンバ変数の「Size」を表示すること
「copy()メソッド」、「scan()メソッド」の処理は自由である。

2. Printerクラスを作成
Printerクラスのデータは以下の通りである。

Printインタフェースを実装

メンバ変数  : public String Size;
コンストラクタ: Sizeを引数として受け取り、Sizeを初期化

3.MultiPrinterクラスを作成
MutliPrinterクラスのデータは以下の通りとする。
Copy、Scannerインタフェースを実装
Printerクラスを継承

4.main()メソッドの処理の順番は以下の通りとする
1.MultiPrinterをインスタンス化、引数として"A4"を渡す。
2.print()メソッドを実行
3.copy()メソッドを実行
4.scan()メソッドを実行

第1問解答

コメント

YUKIO7

はじめまして、
このファイルと同じ文を書いたのですが、
class MultiPrinter extends Printer implements Copy,Scanner

この文の「MultiPrinter」のとこと

class Printer implements Print

この文の「Printer」のところが赤線が出てきてエラーが出てしまいます。

そこで、ふと思い出したのですが
class名とファイル名を一緒にしないといけないということです、。
そうするとひとつのファイルに複数クラスを持つことは不可能なのでは??

よくわかりません。。。助けてください

2010年12月13日 02:58

特集PC技術メンバー

お問い合わせありがとうございます。
ほぷしぃ特集PC技術メンバーです。

> そこで、ふと思い出したのですが
> class名とファイル名を一緒にしないといけないということです、。
> そうするとひとつのファイルに複数クラスを持つことは不可能なのでは??

とのことですが、おおむねご理解して頂いていると思います。
私は、エラーが発生している原因は以下の通りだと考えます。
「ファイル名が、main()メソッドを持つclass名をファイル名にしていない」
※main()メソッドはプログラムが最初に実行するメソッドのことです。

【解説】
第1問解答例を例に説明しますと
main()メソッドを持つclass名は、"EX12_01.java"なので、
ファイル名を"EX12_01.java"にして下さい。

ほぷしぃの第3回 Javaを使ってみよう [6] Javaプログラムの解説で、
public class ファイル名と記載すると説明してありますが
こちらの説明不足で申し訳ありませんでした。

また何かありましたらコメントをよろしくお願いします。
以上です。

2010年12月13日 10:27

コメントの投稿


画像の中に見える文字を入力してください。

トラックバックURL

http://www.isl.ne.jp/cgi-bin/mt/mt-tb.cgi/1098

pagetopこのページの先頭へ戻る