
下記で作成したプログラムで、Kakeibo クラスに、正しい日付で入力された収入と支出に基づいて計算される所持金を表すクラス変数 syojikin を初期値0 で用意したのまでは設定したのですけど、収入と支出に基づいて所持金を計算する計算式がわかりません。どのような例があるのですか?
また、main クラス内で最初に所持金を表示し、Kakeibo クラスの変数kakeibo4, kakeibo5 を追加し、この2 つにはコンストラクタにより正常な日付で収入、日付をそれぞれ入力して表示し、最後にまた所持金を表示し、
所持金:0 円
2010 年12 月1 日 : 収入3000 円, 支出500 円
入力した金額は無効です。
0 年0 月0 日 : 収入0 円, 支出0 円
2010 年11 月7 日 : 収入0 円, 支出1000 円
2010 年11 月18 日 : 収入100 円, 支出800 円
所持金:800 円
にはどのようにすればいいのですか?至急連絡をください?。
class Kakeibo
{
public static int syojikin = 0;
private int year;
private int month;
private int date;
private int syunyu;
private int shisyutsu;
private Kakeibo()
{
year = 0;
month = 0;
date = 0;
syunyu = 0;
shisyutsu = 0;
}
public Kakeibo(int y, int m, int d, int sy, int sh)
{
this();
if(sy>=0 && sh>=0){
year = y;
month = m;
date = d;
syunyu = sy;
shisyutsu = sh;
}
else{
System.out.println("入力した金額は無効です。");
}
}
public void showData()
{
System.out.print(year+"年"+month+"月"+date+"日:収入"+syunyu+"円、支出"+shisyutsu+"円\n");
}
}
class KNO4
{
public static void main(String args[])
{
System.out.println("所持金:"+syojikin+"円");
//Kakeibo kakeibo1 = new Kakeibo();
//kakeibo1.showData();
Kakeibo kakeibo2 = new Kakeibo(2010, 12, 1, 3000, 500);
kakeibo2.showData();
Kakeibo kakeibo3 = new Kakeibo(2010, 12, 1, -5000, 300);
kakeibo3.showData();
Kakeibo kakeibo4 = new Kakeibo(2010, 11, 7, 0, 1000);
kakeibo4.showData();
Kakeibo kakeibo5 = new Kakeibo(2010, 11, 18, 100, 800);
kakeibo5.showData();
}
}
No.3ベストアンサー
- 回答日時:
わけ分からないところがいっぱりありますが、現状のソースを希望通りにするだけなら。
class Kakeibo {
public static int syojikin = 0;
private int year;
private int month;
private int date;
private int syunyu;
private int shisyutsu;
private Kakeibo() {
year = 0;
month = 0;
date = 0;
syunyu = 0;
shisyutsu = 0;
}
public Kakeibo(int y, int m, int d, int sy, int sh) {
this();
if (sy >= 0 && sh >= 0) {
year = y;
month = m;
date = d;
syunyu = sy;
shisyutsu = sh;
syojikin = syojikin + sy - sh;//追加
} else {
System.out.println("入力した金額は無効です。");
}
}
public void showData() {
System.out.print(year + "年" + month + "月" + date + "日:収入" + syunyu
+ "円、支出" + shisyutsu + "円\n");
}
}
class KNO4 {
public static void main(String args[]) {
//System.out.println("所持金:" + syojikin + "円");//コンパイル通らないので・・
System.out.println("所持金:" + Kakeibo.syojikin + "円");
// Kakeibo kakeibo1 = new Kakeibo();
// kakeibo1.showData();
Kakeibo kakeibo2 = new Kakeibo(2010, 12, 1, 3000, 500);
kakeibo2.showData();
Kakeibo kakeibo3 = new Kakeibo(2010, 12, 1, -5000, 300);
kakeibo3.showData();
Kakeibo kakeibo4 = new Kakeibo(2010, 11, 7, 0, 1000);
kakeibo4.showData();
Kakeibo kakeibo5 = new Kakeibo(2010, 11, 18, 100, 800);
kakeibo5.showData();
System.out.println("所持金:" + Kakeibo.syojikin + "円"); //追加
}
}
なぜちゃんとした回答には返事しないのでしょうか・・
No.2
- 回答日時:
案1)コンストラクタにて、入力が妥当であった際に、所持金を更新する。
案2)インスタンスメソッドとして、自オブジェクトの情報を元に所持金を更新するメソッドを定義しておいて、全オブジェクトに対して更新メッセージを送信する。
――という手が考えられるかと。
案1、案2のどちらでもかまわない(当然案1、2以外でも可)ので、
適当にプログラミングできそうなほうを検討してみては。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Java Java 配列<選挙> 4 2023/07/31 15:07
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- C言語・C++・C# カードシャッフルのブログラムを使ってc言語でブラックジャックをしたい 2 2022/04/12 15:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
日本語が文字コードによっては...
-
参照・値渡しについて
-
所持金の計算式とその表示の仕方
-
オブジェクトのフィールドのコ...
-
コンストラクタの引数の中のnew?
-
javaのudp通信について
-
eclipseのコンソール
-
Eclipseのパッケージについて
-
javaプログラミングの質問です。
-
java 記号判定について
-
アクセス修飾子とパッケージに...
-
GetterとSetterをやったのに。
-
変数を動的に利用するには?
-
System.exit()の値を取得したい
-
C言語のポインターに関する警告
-
動的配列が存在(要素が有る)か...
-
javaの掲示板について
-
Swingなしで画像ファイルロード
-
System.err. printlnとSystem.o...
-
サーブレット、JSP、Mysqlについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数を動的に利用するには?
-
Javaでlog4jを使ってログ出力を...
-
プログラミングの問題です。大...
-
中カッコ{}だけの記述について
-
System.exit()の値を取得したい
-
Java プログラム public class ...
-
JSP/Servletのパラメータの受け...
-
C# DatagridviewにExcelシート...
-
Javaで日本語の出力が文字化けする
-
コンストラクタの引数の中のnew?
-
javaで特定の文字列から特定の...
-
Socketの接続のタイムアウトを...
-
NoSuchMethodErrorが解決できま...
-
ArrayList でスタックを
-
他ファイルで定義された自作例...
-
日本語が出力できない
-
日本語が文字コードによっては...
-
randomで
-
インタフェイス実装と抽象クラ...
-
じゃんけん プログラミング
おすすめ情報