Как создать oop, который включает оператор if - PullRequest
0 голосов
/ 29 января 2020

Я пытаюсь создать метод runExperiment ()

. Первый шаг в l oop - уменьшить значение переменной powerLevel на случайное число от 1 до 3, которое Я создал второй метод, для которого работает.

следующий шаг, в котором у меня возникла проблема: если «powerLevel» можно уменьшить, тогда мне нужно сообщение, содержащее номер эксперимента (начиная с 1) должен отображаться, если нет, то должно отображаться другое сообщение, и остальные эксперименты не должны предприниматься.

Затем, наконец, когда все эксперименты закончились, мне нужно отобразить «Эксперимент остановлен», но я знаю, как сделать этот раздел.

Я разместил весь код ниже. Метод находится внизу. Я сделал первую попытку, но я не могу выделить часть, выделенную жирным шрифтом. Любая помощь или руководство было бы фантастическим c. Я не уверен, использовал ли я правильный тип l oop, так что это также может быть неверно.

public class SpaceRocket 
{
  private String name;
  private int maxPowerLevel;
  private int numberOfExperiments;
  private int powerLevel;
  private int decreasePowerLevel;

/**
 * returns maxPowerLevel
 */
  public int getMaxPowerLevel()
  {
  return this.maxPowerLevel;
  }

 /**
  * returns numberOfExperiments
  */
  public int getNumberofExperiments()
    {
  return this.numberOfExperiments;
    }

 /**
  * returns powerLevel
  */
  public int getPowerLevel()
 {
  return this.powerLevel;
 }

 /**
  * 
  * Causes execution to pause by time number of milliseconds
  * 
  */
 public void delay(int time)
 {
  try
  {
     Thread.sleep(time); 
  }
  catch (Exception e)
  {
     System.out.println(e);
  } 
 }

 /**
  *
  * return a random integer between 1 and 3 inclusive
  */
 public int randomInteger() 
 {
  java.util.Random r = new java.util.Random();
  return r.nextInt(3) + 1;
 }  

 public SpaceRocket(String aName, int aNumberOfExperiments)
 {
  this.name = aName;
  this.numberOfExperiments = aNumberOfExperiments;
  this.powerLevel = 0;
  this.maxPowerLevel = 15;
 }

 public boolean decrementPower(int adecreasePowerLevel)
 {
  this.decreasePowerLevel = adecreasePowerLevel;
  if(decreasePowerLevel > this.powerLevel)
  {
     this.powerLevel = 0;
     return true;
  }

  else 
  {
     this.powerLevel =(this.powerLevel - this.decreasePowerLevel);
     return false;
  }

 }

 public runExperiments()
 {
  for(this.powerLevel =(this.powerLevel - randomIntegar())
  {
     if(this.powerLevel

  }  
 }

1 Ответ

0 голосов
/ 29 января 2020

Если я правильно понимаю ваш вопрос, каждый раз, когда запускается l oop, вы хотите уменьшить «уровень мощности» на случайное значение, а затем отобразить сообщение в зависимости от того, можно ли уменьшить уровень мощности.

Здесь два подхода.

1) использовать оператор if в вашем для условий l oop

for (conditions){
    if(powerlevel cannot be decremented){
        //display a messsage
        break;
    }
    // display a message
}

, может повторяться во всех экспериментах

2) использовать while l oop который проверяет, можно ли снизить уровень мощности в каждом l oop

while(powerlevel can be decreased){
    //display a message containing the experiment number (starting at 1)
}
//display a different message 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...