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

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

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

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

Java

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

ファイルI/O

ファイルI/Oは、コンピューターにおけるファイルの入出力です。これは生成/削除やファイルを読み込んだり、出力をファイルに書き込むようなディレクトリやファイルの運用を含みます。

Q&A

解決済

1回答

1603閲覧

java if文について

hiro-n

総合スコア1

if

if文とは様々なプログラミング言語で使用される制御構文の一種であり、条件によって処理の流れを制御します。

Java

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

ファイルI/O

ファイルI/Oは、コンピューターにおけるファイルの入出力です。これは生成/削除やファイルを読み込んだり、出力をファイルに書き込むようなディレクトリやファイルの運用を含みます。

0グッド

0クリップ

投稿2021/04/12 22:27

イメージ説明

public class Ex1_14_1{
public static void main (String[] args){

int totalListPrice = 0;

for(int i = 0 ; i< args.length ; i++){
totalListPrice += Integer.parseInt(args[i]);
}

int totalTaxPrice = calcTaxPrice( totalListPrice );

int payPrice = discount( totalTaxPrice );

System.out.println("割引後の支払い金額:" + payPrice + "円");

}

static int calcTaxPrice( int totalListPrice ){
return totalListPrice * 1.08;
}

static int discount( int totalTaxPrice ){

if( 1000 <= totalTaxPrice && totalTaxPrice < 5000){
return totalTaxPrice * 0.9;

}else if( 5000 < totalTaxPrice ){
return 3600 + (totaltaxprice - 5000) * 0.8;
}else if( ....... ){
......

最後の割引金額の上限は5000円とするの部分に苦戦しており、解説をしていただきたいです。
どのようなコードを書けば良いのでしょうか。
よろしくお願いいたします。

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

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

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

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

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

m.ts10806

2021/04/12 23:07

解説してと言われてもあなたが書いたコードですよね
dodox86

2021/04/12 23:14

「解説してください」と書いているのは、最後のstatic _____ discount(____)をどう書いたら良いのか解説して、ということでしょうね。しかし、どちらの学校の課題なのでしょうね。先の質問 https://teratail.com/questions/332899 を削除しての再投稿と言い、マルチポストと言い、回答する気が削げるのは私だけではない気がします。
dodox86

2021/04/12 23:18

Javaのプログラミングからいったん離れて、まず手計算(紙の上の計算)でどうするか、どういう手順で求めるか、ができるのが出発点です。
K_3578

2021/04/13 00:43

dodox86さんも仰っているが、まず机上で計算出来るようにした方が良い、やってることは 普通の値段の計算をJavaでやってるだけだから、求めるための対応した処理を書いてるだけに過ぎない。 紙で計算出来たら次は解らずにコピペしてるJava文を一つずつ区切って理解していくのだ
hiro-n

2021/04/13 01:47

回答ありがとうございました。 まだこちらのサイトを始めたばかりということもあり、マナーがなっておりませんでした。もう少し自分で考えてから分からない部分を具体的に質問したいと思います。
m.ts10806

2021/04/13 01:49

質問は編集できます
K_3578

2021/04/13 01:54

マルチポストしてるなら対応して。 >回答ありがとうございました。 stdioさん以外は回答してません。追記修正依頼欄は回答じゃない。
hiro-n

2021/04/13 23:49

K_3578さん 丁寧に私の回答という発言が誤りだと申し上げるのであれば、あなたの後半の発言は質問への追記•修正依頼とは全く関係がなく誤りであると思うのですが。マルチポストしてるなら対応して。のみの発言で宜しいのではないでしょうか。このように揚げ足取り合戦が始まるだけですのでお辞め下さい。
K_3578

2021/04/14 00:37

揚げ足取ってるんじゃなくて事実を述べてるだけです。 返信は不要ですが、第三者の目に触れる事を考えてもソースコードは<code>ブロック内に 貼り付けておいてください。
guest

回答1

0

ベストアンサー

解説というほどのことではないですが、苦戦していらっしゃるご様子なのでアドバイスだけでも

まず、「1000円を超えた場合は10%割引にする」「5000円を超えた場合は20%割引にする」の2つを考えましょう。その後で「割引金額の上限は5000円」を考えればいいと思います。

static int discount( int totalTaxPrice ){ int discountNum = 0; //割引金額を一時保持 if(totalTaxPrice > 5000){} //discountNumに20%割引をした金額を挿入 else if(totalTaxPrice > 1000){} //discountNumに10%割引をした金額を挿入 if (discountNum > 5000) //割引金額の上限は5000円 return discountNum; }

投稿2021/04/13 00:46

編集2021/04/13 00:48
stdio

総合スコア3307

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問