dポイントプレゼントキャンペーン実施中!

各店舗全て、リンゴは1個150円、
オレンジは100円とする。
キーボードから3店舗分の
リンゴとオレンジの売上げ個数を
整数値で入力する。
店舗毎の売上金額とその詳細及び3店舗の
リンゴとオレンジの平均売上個数を 計算し、
その個数と個数の多い方に"*"を出力する
プログラムを教えてください。
お願いします。
(同値の場合には"*"は出力しないとする)
平均は実数で求め、小数点1桁まで出力します。
(構造体型の配列変数、入力や合計にはfor文、
型変換、if-else-if文を使用するとする)
例: 15 [Enter]
20 [Enter]
10 [Enter]
13 [Enter]
11 [Enter]
12 [Enter]
Store[1]:4250[EN]
Apple(2250[EN])
Orange(2000[EN])
Store[2]:2800[EN]
Apple(1500[EN])
Orange(1300[EN])
Store[3]:2850[EN]
Apple(1650[EN])
Orange(1200[EN])
Average
Apple:12.0 Orange:15.0 *

A 回答 (1件)

Javaはよう知らんけど、こう書くんじゃないのかしらん(多分)。



// ここから

import java.util.Scanner;

class Shop {
 public static int apple_price = 150;
 public static int orange_price = 100;

 public int identity = 0;
 public int apple_sales;
 public int orange_sales;

 Shop(int i, int x, int y) {
  identity = i + 1;
  apple_sales = Shop.apple_price * x;
  orange_sales = Shop.orange_price * y;
 }

 public int sales() {
  return apple_sales + orange_sales;
 }
}

// Java はフツーに関数を書けないからクソだと思う。
class Fucking {
 public static Shop[] SonOfABitch(int n) {
  Shop ShopList[] = new Shop[n];
  Scanner scan = new Scanner(System.in);
  int i;

  for (i = 0; i < n; i++) {
   ShopList[i] = new Shop(i, scan.nextInt(), scan.nextInt());
  }

  return ShopList;

 }
}

public class Main {

 public static void main(String[] args) {
  Shop result[] = Fucking.SonOfABitch(3);
  double a_avrg = 0.0, o_avrg = 0.0;
  int i;

  for (i = 0; i < result.length; i++) {
   System.out.printf("Store[%d]:%d[EN]\nApple(%d[EN])\nOrange(%d[EN])\n", result[i].identity, result[i].sales(), result[i].apple_sales, result[i].orange_sales);
  }

  for (i = 0; i < result.length; i++) {
   a_avrg += result[i].apple_sales;
   o_avrg += result[i].orange_sales;
  }

  a_avrg /= result.length * Shop.apple_price;
  o_avrg /= result.length * Shop.orange_price;

  if (a_avrg > o_avrg) {
   System.out.printf("Average\nApple:%.1f* Orange:%.1f\n", a_avrg, o_avrg);
  } else if (a_avrg < o_avrg) {
   System.out.printf("Average\nApple:%.1f Orange:%.1f*\n", a_avrg, o_avrg);
  } else {
   System.out.printf("Average\nApple:%.1f Orange:%.1f\n", a_avrg, o_avrg);
  }
 }
}

// ここまで

単純なモノ書こうとしてもJavaだとクソ長くなるのね・・・・初心者向けじゃねぇよ。
    • good
    • 0

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