- 締切済み
引数を利用したプログラムの作成です!!教えてください!!
class Zidou { int Zaiko; int Uriage; int Hoju; void setHoju(int h) { Hoju = h; if(Zaiko<=100) { for(int n=1; Zaiko<=99; n++) { Zaiko = Zaiko-Hoju; } } if(Zaiko>100) { for(int n=1; n<=10; n++) { Zaiko = Zaiko - 1; } } } void setZaiko(int z) { Zaiko = z; for(int n=1; n<=20; n++) { Zaiko = Zaiko-1; } System.out.println("商品を20個買います。"); System.out.println("残在庫数は" + Zaiko + "個です。"); } void setUriage(int u) { Uriage = u; for(int n=1; n<=20; n++) { Uriage = Uriage+100; } System.out.println("売上げ額は" + Uriage + "円です。"); } } class Ex07_2a { public static void main(String args[]) { Zidou zidou1 = new Zidou(); zidou1.setZaiko(100); zidou1.setUriage(0); zidou1.setHoju(30); System.out.println("商品を購入したので商品を補充する。"); System.out.println("残在庫数は" + zidou1.Zaiko + "個です。"); } } と作成してコマンドプロントで実行したんですが、補充してからの在庫数がうまく100個にならないんです。どこが間違っているか、教えていたたげないでしょうか?お願いいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- PCFREAK
- ベストアンサー率51% (417/805)
void setHoju(int h) { Hoju = h; if(Zaiko<=100) { for(int n=1; Zaiko<=99; n++) { Zaiko = Zaiko + 1; } } が正解かな? でも、アルゴリズムとしてはメチャクチャですね。setHoju()もsetZaiko()もsetUriage()も、なぜforループが必要なのかまったく理解できません。