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

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

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

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

Q&A

解決済

3回答

2205閲覧

Javaを使った計算について

yukishiroma

総合スコア7

Java

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

0グッド

0クリップ

投稿2020/05/12 08:47

編集2020/05/12 09:44

前提・実現したいこと

javaで税込価格の計算を行うプログラムの制作しています。(if文、while文、for文を使わないで)

発生している問題・エラーメッセージ

今のコードだとTaxをintで定義してしまっているので消費税10%で計算しても切り捨てられてしまい
ます。かといってdoubleで定義して下記のようなエラーが出てしまいます

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
型 Kadai1 のメソッド tax(int, int) は引数 (int, double) に適用できません

at Kadai1.main(Kadai1.java:7)

該当のソースコード

public

1 public static void main(String[]args){ 2int nedan=2000; 3int Tax=10/100; 4int result; 5result=tax(nedan,Tax); 6System.out.println(nedan+"の商品の税込価格は"+(nedan+result)+"円(消費税は"+result+"円)です。"); 7 } 8 public static int tax(int nedan,int Tax){ 9 int result=nedan*Tax; 10 return result; 11 } 12}``` 13 14### 試したこと 15 16intをdoubleに変換する方法を調べ、下記のようにコードを変えてみました 17 18```public class Kadai1 { 19 public static void main(String[]args){ 20int nedan=2000; 21double Tax=10/100; 22int result; 23result=tax(nedan,Tax); 24System.out.println(nedan+"の商品の税込価格は"+(nedan+result)+"円(消費税は"+result+"円)です。"); 25 } 26 public static int tax(int nedan,int Tax){ 27 (int) result=nedan*Tax; 28 return result; 29// } 30}```

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

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

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

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

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

swordone

2020/05/12 08:53

> intをdoubleに変換する方法を調べて試してみましたが、うまくいきませんでした。 何を調べ、どういうコードを書いたのでしょうか。
退会済みユーザー

退会済みユーザー

2020/05/12 09:01

ソースコードは以下のように```で囲ってください。 ```Java コード ```
Zuishin

2020/05/12 09:48

tax 関数の引数はパーセントで渡してください。税率 10% なら 10 を渡すようになります。
yukishiroma

2020/05/12 10:06 編集

分かりました、修正して試行錯誤してみます。
退会済みユーザー

退会済みユーザー

2020/05/12 10:07

```とコードの間は改行してください。 ```Java  ←ここに言語の名前を書く。今回はJavaだからJavaと書く。 public static void main... ... } ```
Zuishin

2020/05/12 10:12

試行錯誤なんかする必要ないでしょう。一割増しは 110% ですよ。
guest

回答3

0

ベストアンサー

taxメソッドがdoubleに対応してないといってるんだから、そっちの方をまずdoubleに対応するように修正しよう

投稿2020/05/12 09:42

y_waiwai

総合スコア88042

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

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

yukishiroma

2020/05/12 13:29

下記のように修正しましたが、消費税が出力されませんでした。 ```Java public class Kadai1 { public static void main(String[]args){ int nedan=2000; double Tax=(10/100)*100; double result=tax(nedan,Tax); System.out.println(nedan+"の商品の税込価格は"+(nedan+result)+"円(消費税は"+result+"円)です。"); } public static int tax(int nedan,double Tax){ int result=nedan*(int)Tax; return result; } } ````
y_waiwai

2020/05/12 13:33

> int result=nedan*(int)Tax; なんにもかわってないやんw この関数ではなにをどう計算してどういう結果を返すのかはっきりさせよう
y_waiwai

2020/05/12 13:43

切り捨てでいいなら、 int result=(int)(nedan*Tax); で。
退会済みユーザー

退会済みユーザー

2020/05/12 14:03

横から失礼します。 >消費税が出力されませんでした。 (10/100)*100の結果が0になってるから。 てかこのままだと消費税とんでもないことになる。
whitethree

2020/05/15 06:25

横から失礼します。 私も同じ内容の問題でつまずいております。 yukishiromaさんは解決しましたでしょうか。
yukishiroma

2020/05/21 14:07

はい、解決しました。
guest

0

プログラムを以下のように変更したら解決しました。
'''Java public class Kadai01 {
public static void main(String[] args) {
int nedan = 2000;
double Tax = 0.1;
double result = tax(nedan, Tax);
System.out.println(nedan + "の商品の税込価格は" + (nedan + result) + "円(消費税は" + result + "円)です。");
}

public static int tax(int nedan, double Tax) { int result = (int) (nedan * Tax); return result; }

}'''

投稿2020/05/21 14:17

yukishiroma

総合スコア7

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

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

0

プログラムを以下のように変更したら解決しました。
'''Java public class Kadai01 {
public static void main(String[] args) {
int nedan = 2000;
double Tax = 0.1;
double result = tax(nedan, Tax);
System.out.println(nedan + "の商品の税込価格は" + (nedan + result) + "円(消費税は" + result + "円)です。");
}

public static int tax(int nedan, double Tax) { int result = (int) (nedan * Tax); return result; }

}'''

投稿2020/05/21 14:11

yukishiroma

総合スコア7

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問