【发布时间】:2021-09-11 07:50:47
【问题描述】:
我当前项目的一部分是将 mm:ss 转换为秒...但用户可以选择输入 x:xx 或 xx:xx。
例如,如果有人想在程序中输入一分三十秒,他们可以选择将其写为“01:30”或“1:30”。两者的输出都是 90 秒。
这是我当前的代码。
System.out.print("Time (mm:ss): ")
String time = scan.nextLine();
int min = Integer.parseInt(time.substring(0, time.indexOf(':'))) * 60;
int sec = Integer.parseInt(time.substring(3, time.length()));
int duration = (min + sec);
System.out.println("Seconds: " + duration)
输入 xx:xx 时有效,输入 x:xx 时失败。
我不确定如何只读取 ":" 之后的字符。如果我从“:”开始子字符串(我现在在 3 处),它不能转换为 int,因为它读取“:”。
我翻遍了 Google 和我的教科书,但没有找到任何东西。我假设我只是使用了错误的技术。代码需要保持在基本初学者 String 方法的参数范围内。谢谢!
【问题讨论】:
-
1:30 是 90 秒...也是String.split()
-
那么在子串索引中加一?
-
编辑到90,以为我写的是2:30。
-
如何将一个添加到索引中?我试过“+1”但没有运气。
-
错误是因为您使用 3 作为索引,在 1:30 的情况下它可以是 2
标签: java string time integer seconds