Как превратить минуты в годы и дни?

1

В учебнике объясняется, как конвертировать секунды в минуты, сколько секунд осталось, но вопрос у меня следующий.

Напишите программу, которая предложит пользователю ввести минуты (например, 1 миллиард) и отобразит количество лет и дней для минут. Для простоты предположим, что год имеет 365 дней. Вот пример.

Enter the number of minutes: 100000000
100000000 minutes is approximately 1902 years and 214 days.

В настоящее время у меня есть следующее:

import java.util.Scanner;

public class Ch2_Exercise2_7 {
  public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    // Prompt user for number of minutes
    System.out.println("Enter the number of minutes:");
    int minutes = input.nextInt();

     // Number of minutes in a year
    int year = minutes / 525600;
    int day = minutes / 1440;
    int remainingMinutes = day % 525600;


    System.out.println(minutes + " minutes is " + year + " years and "  +  remainingMinutes + " days ");
    }

   }

То, что у меня есть, не дает мне оставшихся минут на несколько дней. Например, если я положу 525600 минут, мне дают 1 год и 365 дней, когда это должно быть всего 1 год.

Я использую Java Eclipse. Любая помощь будет принята с благодарностью! Приносим извинения заранее, если я неправильно разместил код.

  • 2
    в чем именно проблема?:
  • 0
    Это должно быть очень просто, если вы знаете свои конверсии
Показать ещё 8 комментариев
Теги:

1 ответ

4
Лучший ответ

Вы немного прищурились здесь:

// Number of minutes in a year
int year = minutes / 525600;
int day = minutes / 1440;
int remainingMinutes = day % 525600;

Вы взяли общее количество минут и разделились на 1440, поэтому количество дней, которое вы получили, было неправильным. Вы должны были взять остаток, а затем разделили на 1440.

Другое дело в вашем заявлении на печать. Вы написали количество минут, оставшихся после одного года, как количество дней.

Это должно работать:

// Number of minutes in a year
int year = minutes / 525600;
int remainingMinutes = minutes % 525600;
int day = remainingMinutes / 1440;

System.out.println(minutes + " minutes is approximately " + year + " years and " + day + " days.");
  • 1
    Можете ли вы указать на ошибку в его коде ??
  • 0
    Спасибо вам большое!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню