2013-03-11 3 views
0

Я застрял в решении для кода 3 ниже. Мне нужно вставить простую математическую задачу, и я не могу понять, как это происходит после прохождения моей книги и примера видео из класса. Я хотел бы, чтобы программа задала вопрос: «Каков ответ на вопрос 8, поднятый до степени 2» с ответом «64». Любой, кто хочет помочь мне? Я могу придумать еще два моих вопроса, если кто-то может просто начать меня! Большое спасибо!! KimJava Code Simple Math

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 

ответ

0

Мне нужно немного больше информации, прежде чем я смогу дать вам ответ. Похоже, код нуждается в генераторе случайных чисел, однако в вашем вопросе вы попросили 8^2 или 8 * 8. Что бы вы хотели? Я спрашиваю, потому что поколение случайного числа сильно отличается от жесткого кодирования числа переменных

+0

Благодарим всех за исправления. Новый класс для меня, и я НЕ улавливаю быстро. IrishWhiskey (Случайное число) Я думаю ?! Предположим, задайте вопрос и скажите пользователю, правильно ли он ответил или неправильно? –

2

При запуске программы, в main вы будете иметь, что responseE всегда будут установлены в «Определенный». Потому что:

Посмотрите на поток вашего кода:

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

первый if всегда выполняется, так что это всегда будет выполняться.

Кроме того, даже если вы будете оценивать responseE после прочтения счет, вам нужно еще раз подумать, как вы пишете свои условия .. обратите внимание, что если score <= 85 затем score <= 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"; 
} 

То же самое для других полей, которые вы хотите оценить после прочитать вход.

+1

Короче говоря, вы определяете ответ, основанный на оценке, прежде чем вы читаете оценку_ –