我需要创建一个程序,在用户给出的时间内添加分钟。 到目前为止我有这个:
import java.util.Scanner;
public class LaterTime {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
System.out.println("Enter a time in the format Hour:Minutes ");
String Time = scan.next();
}
}
我知道我需要找到"的索引:"我的感觉是使用模数和加法来解决,但我不确定如何。
答案 0 :(得分:1)
您可以使用拆分
String[] parts = time.split(":");
String hours = parts[0];
String minutes = parts[1];
或者您可以使用子字符串方法
String minutes = time.substring(time.indexOf(':'), time.length());
将分钟从String
转换为int
int m = Integer.parseInt(minutes);
将分钟添加到用户给出的时间:
int userHours = ...;
int userMinutes = ...;
int parsedMinutes = ...;
int extraHours = (userMinutes + parsedMinutes) / 60;
int remainingMinutes = (userMinutes + parsedMinutes) % 60; // modulo i.e. remainder after division
int hours = (userHours + extraHours) % 24;
int minutes = remainingMinutes;
您可以使用TimeUnit
进行时间单位之间的转换:
int extraHours = TimeUnit.MINUTES.toHours(userMinutes + parsedMinutes);
int remainingMinutes = (userMinutes + parsedMinutes) - extraHours * 60;
如果您需要格式化前导零的数字(5 - >" 05",23 - >" 23")
String formatted = String.format("%02d", number); // 2 decimal places
结果打印
System.out.println("resulting time in HH:mm format: "
+ String.format("%02d", hours) + ":" + String.format("%02d", minutes));
注意,您可以使用以下代码获得相同的结果(所有数学都由Calendar
完成):
Date now = new Date();
// set time given by user
Calendar cal = Calendar.getInstance();
cal.setTime(now);
cal.set(Calendar.HOUR_OF_DAY, userHours);
cal.set(Calendar.MINUTE, userMinutes);
Date date = cal.getTime();
// add minutes
cal.setTime(userDateTime);
cal.add(Calendar.MINUTE, parsedMinutes);
Date updated = cal.getTime();
// date formats
SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm);
SimpleDateFormat timeFormat = new SimpleDateFormat("HH:mm");
System.out.println(dateTimeFormat.format(updated));
System.out.println(timeFormat.format(updated));
答案 1 :(得分:0)
使用此代码
input {
vertical-align: top;
}
我对代码所做的是接受2个输入,然后我使用字符串类的split方法解析它们。然后我将字符串数组转换为不同的字符串。在那之后,我把这些字符串变成了整数。最后我做了数学计算,并将所有的分钟和小时转换成实际单位。