0

私は以下のコード3の解決策に固執しています。簡単な数学の問題を挿入する必要がありますが、私の本とクラスのサンプルビデオを調べた後、これを一生理解することはできません。プログラムに「8の2乗の答えは何ですか」と「64」の答えを出してもらいたいのですが。私を助けてくれる人はいますか?誰かが私を始めてくれるなら、私は他の2つの質問を思い付くことができます!どうもありがとうございます!!キム

import java.util.Scanner;  //allows for input

public class ASG03 {

    public static void main(String[] args) {
        Scanner input = new Scanner(System.in); //allows for input

        //Step 1 - Declare and initialize variables
        String candidateName = "";
        String responseE = "";

        int option = 0;
        double score = 0;


        if (score <=85)
            responseE = "Definite";
        else if (score <=70)
            responseE = "Likely";
        else if (score <=60)
            responseE = "Maybe";
        else
            responseE = "No";

        String responseI = "";

        if (score <=85)
            responseI = "Yes";
        else if (score <=70)
            responseI = "Yes";
        else if (score <=60)
            responseI = "Yes";
        else
            responseI = "No";

        //Step 2 -  Process input

        System.out.println("Enter candidate name: ");
        candidateName = input.nextLine();
        System.out.println("Enter score 0 -100: ");
        score = input.nextDouble();
        System.out.println();



        System.out.println("Enter 1 to set employment category ");
        System.out.println("Enter 2 to set interview possibility ");
        System.out.println("Enter 3 to view a sample test question ");
        System.out.println("Enter option now -> ");
        option = input.nextInt();





        //Step 3 and 4 - Process calculations and output
        switch(option)
        {
        case 1:
            System.out.println("You are now setting the employment category...");
            //can use nested if else
            System.out.println("Employment category =  " + responseE);

            break;


        case 2:
            System.out.println("You are now setting the interview possibilities...");
            System.out.println("Interview possibilites = " + responseI);



            break;

        case 3:
            System.out.println("You are now viewing a sample test question...");
            //use random and power from Math library


        default:


        }//end of switch

    }//end of main

}//end of class
4

2 に答える 2

2

プログラムを実行すると、常に"Definite"mainに設定されます。なぜなら:responseE

コードの流れを見てください。

double score = 0;
if (score <=85)
  responseE = "Definite";
else if (score <=70)
...
...

最初のifものは常に満たされるため、常に実行されます。

また、スコアを読んでから評価する場合でも、responseE条件の書き方を再考する必要があります。score <= 85score <= 70

次のようなものが必要です。

切り替え前:

responseE = getResponse(score);

そして、ここに方法がありますgetResponse

private static String getResponse(double score) {
  if (score <=85 && score >70)
    return "Definite";
  else if (score <=70 && score > 60)
    return "Likely";
  else if (score <=60 && score > 40) //For example..
    return "Maybe";
  return "No";
}

入力を読み取ったに評価する他のフィールドについても同じです。

于 2013-03-11T18:16:27.020 に答える
0

答えを出す前に、もう少し情報が必要です。コードは乱数ジェネレーターを必要としているように見えますが、質問では 8^2 または 8*8 を要求しました。どちらがいいですか?乱数の生成は数値変数のハードコーディングとは大きく異なるため、お尋ねします

于 2013-03-11T18:14:15.763 に答える