В учебнике объясняется, как конвертировать секунды в минуты, сколько секунд осталось, но вопрос у меня следующий.
Напишите программу, которая предложит пользователю ввести минуты (например, 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. Любая помощь будет принята с благодарностью! Приносим извинения заранее, если я неправильно разместил код.
Вы немного прищурились здесь:
// 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.");