アプリ版:「スタンプのみでお礼する」機能のリリースについて

フィールドとして、「ナンバー」「ガソリン残量」「走行距離」「エンジンの排気量」の4つ、それらの値を表示するメソッド4つから構成されるCar2ラスを作成し、メインメソッドで2つのオブジェクトkcar と bcar を作成し、それぞれに、次の値を代入し、Car2ラスのメソッドを呼び出してそれぞれの値を表示するプログラムを作成しなさい

オブジェクト名  ナンバー   ガソリン残量        走行距離   排気量

kcar        552        25.1            22000      2000
bcar        441        33.5           9940        2000



//↓一応自分が書いたコードなので会ってるか分かりませんが、違ってたら教えてください
Car2
{
int num;
double gas;
int m;
int h;

int num1;
double gas1;
int m1;
int h1;

void show()
{
System.out.println("kcar"+num+ +gas+m+h);
System.out.println("bcar"+num1+ +gas1+m1+h1);
}
}



class Sample1
{
public static void main(String[] args)
{
Car2 car1;
car1 =new Car2();

car1.num=552;
car1.gas=25.1;
car1.m=22000;
car1.h=2000;

car1.num1=441;
car1.gas1=33.5;
car1.m1=9940;
car1.h1=2000;
car1.show();
}
}

A 回答 (2件)

以下、ひとつの回答のサンプルです。


--------------------------------------------
class Car2
{
int num;//ナンバー
double gas;//ガソリン残量
int m;//走行距離
int h;//エンジン排気量

void show(String name)
{
System.out.println("オブジェクト="+name);
System.out.println("ガソリン残量="+gas);
System.out.println("走行距離="+m);
System.out.println("エンジン排気量="+h);
}
}



class Sample1
{
public static void main(String[] args)
{
Car2 kcar =new Car2();
kcar.num=552;
kcar.gas=25.1;
kcar.m=22000;
kcar.h=2000;
Car2 bcar =new Car2();
bcar.num=441;
bcar.gas=33.5;
bcar.m=9940;
bcar.h=2000;
kcar.show("kcar");
bcar.show("bcar");
}
}
---------------------------------
実行結果
オブジェクト=kcar
ガソリン残量=25.1
走行距離=22000
エンジン排気量=2000
オブジェクト=bcar
ガソリン残量=33.5
走行距離=9940
エンジン排気量=2000
    • good
    • 0

> 一応自分が書いたコードなので会ってるか分かりませんが、


> 違ってたら教えてください

自分がどれだけ理解しているレベルにいるかという現状を
ようやくコードで提示してくれるようになったのですね。

匿名Q&A掲示板なのだから,恥は掻き捨てでいいんですよ。

「Javaなんて端から理解するつもりもないから,正しく動作する結果だけ教えろ」
というのではなく,
どんなコードを書けばよいのか理解したいのであれば,サポートはしますよ。

--------
> フィールドとして、「ナンバー」「ガソリン残量」「走行距離」
> 「エンジンの排気量」の4つ、それらの値を表示する
> メソッド4つから構成されるCar2ラスを作成

質問者のコードは,4つのフィールド値を一度にまとめて表示する
1つのメソッドしかありません。メソッド4つで構成するならこんな感じ。

class Car2 {
int num;
double gas;
int m;
int h;

void showNum() {
System.out.println("ナンバー:" + num);
}
void showGas() {
System.out.println("ガソリン残量:" + gas);
}
void showM() {
System.out.println("走行距離:" + m);
}
void showH() {
System.out.println("エンジンの排気量:" + h);
}
}

--------
> メインメソッドで2つのオブジェクトkcar と bcar を作成し、
> それぞれに、次の値を代入し、Car2ラスのメソッドを呼び出して
> それぞれの値を表示

質問者のコードには,kcar と bcar という変数名が登場していません。
さらに,クラスを基にして2つのオブジェクトを作成するなら,
new が2回登場するはずです。解答例はこんな感じになります。

class Sample1 {
public static void main(String[] args) {
Car2 kcar = new Car2();
Car2 bcar = new Car2();

kcar.num = 552;
kcar.gas = 25.1;
kcar.m = 22000;
kcar.h = 2000;

bcar.num = 441;
bcar.gas = 33.5;
bcar.m = 9940;
bcar.h = 2000;

kcar.showNum();
kcar.showGas();
kcar.showM();
kcar.showH();

bcar.showNum();
bcar.showGas();
bcar.showM();
bcar.showH();
}
}

--------
以上,質問者のコードを基にして解答例を書いてみました。

さらにオブジェクト指向プログラミングのいくつかの技術要素を追加することもできるのですけれど,上記のコードでちゃんと問題文の解答例として成立しています。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!