Как я могу сложить или вычесть, чтобы получить желаемое число на основе введенных мной данных? - PullRequest
0 голосов
/ 17 июня 2020

Буду признателен за любой вклад по этому поводу. Мне нужны два числа 15 и 30, которые дают положительное выражение печати. Но мне также нужно отрицательное утверждение, если вы вводите любые другие числа. Скажем, например, я ввел 20. Я хочу, чтобы отпечаток был: System.out.println("Today is not a payday, you still need to wait" + daysTill + "days."); с daysTill равным 10, так как до следующей зарплаты потребуется еще 10 дней. Это весь код, который у меня есть:


public class MultiBranch
{
  public static void main(String[] args)
  {
    int daysTill;
    int day;

    Scanner input = new Scanner(System.in);
    day = input.nextInt();

    daysTill = 0;

    if((day == 15) || (day == 30) )
    {
      System.out.println("Today is a payday, get ready to spend!");
    }  
    else
    {

      System.out.println("Today is not a payday, you still need to wait" + daysTill + "days.");
    }
  }
}  

Ответы [ 2 ]

0 голосов
/ 17 июня 2020

Вы также можете написать свой код лаконично:

Scanner input = new Scanner(System.in);
int day = input.nextInt();

if (day % 15 == 0)  {
    System.out.println("Today is a payday, get ready to spend!");
} else {
    System.out.println("Today is not a payday, you still need to wait " + (day < 15 ? 15 - day : 30 - day) + " days.");
}

(day < 15 ? 15 - day : 30 - day) - это реализация тернарного оператора в java.

0 голосов
/ 17 июня 2020

Вам просто нужно выполнить проверку

public class MultiBranch
{
    public static void main(String[] args)
    {
        int daysTill = 0;
        int day;

        Scanner input = new Scanner(System.in);
        day = input.nextInt();

        if(day < 15){
            daysTill = 15 - day;
        }
        else{
            daysTill = 30 - day;
        }

        if((day == 15) || (day == 30) )
        {
            System.out.println("Today is a payday, get ready to spend!");
        }  
        else
        {
            System.out.println("Today is not a payday, you still need to wait" + daysTill + "days.");
        }
    }
}

Вы также можете выполнить предварительную проверку, если ввод больше 30, а затем отобразить ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...