ここに別の人物の質問へのリンクと私の正確な割り当てがあります。switch caseメソッドを使って2つの文字列変数を結果文字列に連結する方法
は、どのように私は私がスイッチケース内2-10値の範囲を短縮することができますどのように、そしてまた このフォーマット「スーツの値」でsuitofCardをvalueofCardを表示するには、私の結果文字列を得ることができますか? 私は "of"と他のいくつかの行が意味をなさないことを知っています、私はちょうど大きなものをとにかく欠いていると思っただけです。 何か助けていただきありがとうございます。
System.out.print("Please enter a letter/integer of a playing card (A, J, Q, K, or 2 - 10),\nfollowed by card type (D, H, S, C):");
Scanner kbd = new Scanner(System.in);
String userInput = kbd.nextLine();
String valueofCard = userInput.substring(0, userInput.length()/2); // gives first half of string
String suitofCard = userInput.substring(userInput.length()/2); //give last half of string with + 1 if odd
StringBuilder result = new StringBuilder();
switch (valueofCard) {
case "A":
result.append("Ace of ");
break;
case "J":
result.append("Jack of ");
break;
case "Q":
result.append("Queen of ");
break;
case "K":
result.append("King of ");
break;
case "2":
result.append("2 of ");
case "3":
result.append("3 of ");
case "4":
result.append("4 of ");
case "5":
result.append("5 of ");
case "6":
result.append("6 of ");
case "7":
result.append("7 of ");
case "8":
result.append("8 of ");
case "9":
result.append("9 of ");
case "10":
result.append("10 of ");
break;
}
switch (suitofCard) {
case "D":
result.append("Diamonds");
break;
case "H":
result.append("Hearts");
break;
case "S":
result.append("Spades");
break;
case "C":
result.append("Clubs");
break;
}
System.out.println(result.toString());
kbd.close();
}
}
System.out.printlnステートメントは、 "switch(suitofCard)"ステートメントの中カッコ内にあります。 – racraman
ありがとうございます!また、「AH」を入力したとき、またはカードの数値(ケース2〜10)に何が返ってこないのか、なぜコードが「AHAce of Hearts」を印刷するのか理解できますか? –
「結果」がどのように初期化されているかを見て、A、J、Q、Kと比較して何が追加されているかを「スイッチ(valueofCard)」内で比較してください:) – racraman