aka55
@aka55 (岡田 彰太朗)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Javaの条件分岐について

Q&A

Closed

解決したいこと

エンジニア騎士とクエリの魔女というサイトにおいてJavaの問題で分からない部分があるので、ヒントをいただきたいです。

strの値("S","M","LL")をif文で分岐させて、3回の繰り返しの中でそれぞれ100,200,300×2=600をtotalに加算して最後に900を出力させたいのですが、全ての分岐がelse("LL")の300×2=600に行ってしまいます。。。

自分で試したこと

String str = sc.next();で値が問題なく入力されているのは確認できました。
if文の記述が間違っているのか、条件のString型の文字が認識されていないか、というところで修正しましたが解決に至りません。

問題↓
paiza.jp_code_and_sql_challenges_cas_c_c_4001.png

該当するソースコード

import java.util.*;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int S = sc.nextInt();
        int M = sc.nextInt();
        int L = sc.nextInt();
        int total = 0;
        for(int i = 1; i <= N; i++) {
            String str = sc.next();
            if (str == "S") {
                total += S;
            } else if (str == "M") {
                total += M;
            } else if (str == "L") {
                total += L;
            } else if (str == "SS") {
                total += (S / 2);
            } else {
                total += (L * 2);
            }
            System.out.println(str); //何が代入されているか見るためのコード
            System.out.println(total); //何が代入されているか見るためのコード
        }
        System.out.println(total);
    }
}
0

1Answer

Comments

  1. @aka55

    Questioner

    ありがとうございます!初歩的な質問ですいません。
    .equalsメソッドで解決することが出来ました!

Your answer might help someone💌