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

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

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

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

Q&A

解決済

1回答

454閲覧

メソッドが実行できない 

haru.kawa

総合スコア4

Java

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

0グッド

0クリップ

投稿2023/05/19 01:56

実現したいこと

エラーを解消したい

前提

CarSystemクラスでrunメソッドを実行させたいのですが、以下のエラーメッセージが発生しました。解決方法がわかりません。お教えいただけると幸いです。
commonパッケージにはCar、SportsCar、Truckクラスがあります。

発生している問題・エラーメッセージ

型 Car のメソッド run(int) は引数 () に適用できません 型の不一致: Truck から Car には変換できません 型 Car のメソッド run(int) は引数 () に適用できません

該当のソースコード

Java

1import common.Car; 2import common.SportsCar; 3import common.Truck; 4public class CarSystem { 5 public static void main(String[] args) { 6 Car sportscar=new common.SportsCar(); 7 sportscar.run(); 8 Car truck = new Truck(); 9 truck.run(); 10 } 11}

Java

1package common; 2 3public class Car { 4 5 private String name; 6 private int speed; 7 8 public Car(String name, int speed) { 9 this.name = name; 10 this.speed = speed; 11 } 12 13 public void run() { 14 System.out.println(this.name + "は時速" + this.speed + "で走った"); 15 } 16 17 public String getName() { 18 return name; 19 } 20 21 public void setName(String name) { 22 this.name = name; 23 } 24 25 public int getSpeed() { 26 return speed; 27 } 28 29 public void setSpeed(int speed) { 30 this.speed = speed; 31 } 32 33}

Java

1package common; 2 3public class SportsCar extends Car{ 4 public SportsCar() { 5 super("スポーツカー", 100); 6 } 7 /** 8 * 設定されたスピードの3倍の速度で走る 9 */ 10 public void turbo() { 11 System.out.println(super.getName() + "は時速" + (super.getSpeed() * 3 ) + "で走った"); 12 } 13} 14

Java

1package common; 2 3public class Truck extends Car{ 4 public Truck() { 5 super("トラック", 30); 6 } 7}

試したこと

import文を追加

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

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

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

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

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

jimbe

2023/05/19 02:12

本当に、ご提示のコードをコンパイル・実行しているでしょうか。 例えばフォルダを分けて幾つも同じクラス・パッケージを書いていて、過去に作ったコードを使っているとかは無いでしょうか。
episteme

2023/05/19 02:17

> 型 Car のメソッド run(int) は引数 () に適用できません > 型の不一致: Truck から Car には変換できません > 型 Car のメソッド run(int) は引数 () に適用できません このエラーはどのコードの何行目で出たものでしょうか?
m.ts10806

2023/05/19 05:55

自身で調べたことや試したことはありますか?
haru.kawa

2023/05/19 06:53

皆さんご回答ありがとうございます。 提示のコードをコンパイルしているのですが、上記のようなエラーメッセージが出てきます。 確かに過去に何度かCarという名前のクラスは作成しました。ファイル内などもう一度確認してみます。 > 型 Car のメソッド run(int) は引数 () に適用できません →CarSystemの7行目の run の箇所 > 型の不一致: Truck から Car には変換できません →CarSystemの8行目の new Truck() の箇所 > 型 Car のメソッド run(int) は引数 () に適用できません →CarSystemの9行目のtruck.run()の箇所 で発生しています。 現在エラーメッセージについて調べたのと、commonパッケージに正しく入っているか確認しました。しかし解決には至りませんでした。 知人からソースコードを自体に問題はなさそうと言われたため、私の開いているファイルに問題があるのだと思いました。 もう一度考えます。解決できたらご報告いたします。みなさんありがとうございます。
guest

回答1

0

自己解決

eclipse上で新しいファイルを作成し、そちらの中でCarSystemクラス、commonパッケージ内のクラスのソースコードをコピペしたところ、実行できました。直接の理由はわかりませんでしたが、過去に同じ名前で内容が違うCarクラスを作成していたため、そちらの方を呼び出してしまったのかと思われます。
皆さんご回答ありがとうございました。

投稿2023/05/19 07:12

haru.kawa

総合スコア4

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

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

jimbe

2023/05/19 07:36

解決でしたら、こちらの回答をベストアンサーとしてください。それによって解決済みと表示されるようになります。
haru.kawa

2023/05/19 07:38

jimbeさん お教えいただきありがとうございます。承知しました。 ご回答もありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問