質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

2回答

465閲覧

Printクラスからの継承がうまくいかない

janetto

総合スコア7

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

0グッド

0クリップ

投稿2022/05/12 23:27

編集2022/05/13 04:11

出したい表示結果

こんにちは こんにちは こんにちは

条件

  • Main.javaは変更しない
  • 文字列「こんにちは」Subクラスにフィールドmessageを定義し、その初期値とすること。
  • 文字列「こんにちは」はSubクラス内で記述すること。
  • パッケージ、インポートなしで
  • クラスPrintの```編集可能エリア

public void execute(int loop) {

int i; for (i = 0;i<loop;i++) System.out.plintln();

}

### ファイルの中身 ```Java public abstract class Print { public void execute(int loop) { int i; for (i = 0;i<loop;i++) System.out.plintln(); } protected abstract void print(); }

Java

1Main.java 2public classMain { 3 4public static void main(String[] args) { 5 **int** loop = 3; 6 Print print = new Sub(); 7 print.execute(loop); 8} 9 10}

Java

1public class Sub extends Print { 2private String message; 3 4public PrinterSub (){ 5 message = "こんにちは"; 6} 7 8void print(); 9 10 11} 12

現状のコンパイル結果

Main.java:5: エラー: シンボルを見つけられません
Print print = new Sub();
^
シンボル: クラス Sub
場所: クラス Main
.\Print.java:7: エラー: シンボルを見つけられません
System.out.plintln();
^
シンボル: メソッド plintln()
場所: タイプPrintStreamの変数 out
エラー2個

やってみたこと

型の修正
ループ処理の復習

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

int32_t

2022/05/12 23:45

3つ目のソースのファイル名は Sub.java になってますか?
episteme

2022/05/12 23:58

> 文字列「Hello」はPrinterSubクラス内で記述すること。 PrinterSubクラスってなんですか? Mainから使われていないんですけど。
quickquip

2022/05/13 00:00

引用は正確ですか?
dodox86

2022/05/13 00:29

@質問者 janettoさん Mainクラスを改変したまま本質問に載せていませんか。 > public classMain { ... > **int** loop = 3; quickquipさんからコメントいただいたように、引用を正確にしましょう。そうでないと適切な回答を得ることはできません。質問は編集できます。
guest

回答2

0

ベストアンサー

1.Main.javaは変更しない
2.文字列「こんにちは」Subクラスにフィールドmessageを定義し、その初期値とすること。
3.文字列「Hello」はPrinterSubクラス内で記述すること。
4.パッケージ、インポートなしで

1/2/4を満足するやつ↓ (3.は意味わからん)

Java

1abstract class Print { 2 public void execute(int loop) { for ( int i = 0;i<loop;i++) print(); } 3 protected abstract void print(); 4} 5 6class Sub extends Print { 7 private String message; 8 public Sub () { message = "こんにちは"; } 9 protected void print() { System.out.println(message); } 10} 11 12public class Main { 13 public static void main(String[] args) { 14 int loop = 3; 15 Print print = new Sub(); 16 print.execute(loop); 17 } 18}

投稿2022/05/13 01:01

episteme

総合スコア16614

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

janetto

2022/05/13 01:37

解決出来ましたありがとうございます。
episteme

2022/05/13 01:57

> 文字列「Hello」はPrinterSubクラス内で記述すること。 コレ、何だったんですか?
janetto

2022/05/13 04:12

書き間違いです 混乱させてすいません
episteme

2022/05/13 06:49

正しくはどんな文言なんですか?
guest

0

投稿2022/05/12 23:37

y_waiwai

総合スコア87749

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

int32_t

2022/05/12 23:47

package 使っていないので的外れかと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問