当前位置: 首页 > 知识库问答 >
问题:

如何将hh:MM格式的时间扫描为字符串,并得到整数中的hh和min的值?

阮健
2023-03-14
String s= sc.nextLine();  //Suppose I take HH:MM (Time) as string... say 09:45
s = "09:45";

我试过...

String s1[]= s.split(":");

int HH= Integer.valueof(s1[0]);

int MM= Integer.valueof(s1[1]);

但它给了这个例外...

线程“main”java.lang.NumberFormatException异常:对于输入字符串:“”在java.lang.NumberFormatException.ForInputString(未知源)在java.lang.Integer.ParseInt(未知源)在java.lang.Integer.ParseInt(未知源)在AppStreet.Question1.Main(问题1.java:42)

共有1个答案

公西永嘉
2023-03-14

尝试此操作(假设输入格式为hh:mm):

String s = sc.next(); //instead of nextLine()
int hh = Integer.parseInt(s.substring(0,2));
int mm = Integer.parseInt(s.substring(3));

或者像你那样:

String s = sc.next(); //instead of nextLine()
String arr[] = s.split(":");
int hh = Integer.parseInt(arr[0]);
int mm = Integer.parseInt(arr[1]);

有关next()nextline()之间的区别,请参阅以下内容。

 类似资料:
  • 我的问题是格式化通过扫描仪输入的字符串。我试图输入“Result is”,但printf()似乎只看到字符串的“Result”部分,那么空格的命令是什么呢?thx公司

  • 简单地说,我目前正在使用的程序要求我分割扫描仪输入(例如:2火腿和奶酪5.5)。它应该读取一份杂货订单,并将其分成三个数组。我应该使用string.split,并能够将此输入拆分为三部分,而不考虑中间字符串中的空格。 示例输入#1:2苹果0.9 示例输出#1: 2个 苹果 0.9 示例输入#2:2更多苹果0.9 示例输出#2: 2个 更多的苹果 0.9 我如何实现这一点?每当我用string.sp

  • 我对编程相当陌生,正在尝试设计一种方法来创建具有多个参数的方法。扫描仪,单词字符串数组,与单词数组匹配的字符串数组,以及字符串数组中有多少单词的整数。我的目标是一个接一个地处理扫描仪中的单词,如果扫描仪中的一个单词也在单词数组中,我想在int数组中添加一个,如果一个单词不是单词数组,我想在数组的第一个空格处将其添加到单词数组中,并在与单词相同的位置将其添加到int数组中。该方法的目标是在处理扫描仪

  • 问题内容: 我需要将(定义为Integer)转换为以下字符串格式“ hh:mm”,假设其为“ 00:00”。到目前为止,下面给出的代码是正确的,但是无法正常工作。也没有考虑应根据进行移位。还有其他解决方案吗? 问题答案:

  • 我尝试使用此代码片段将两个变量作为输入:- 但这会引起以下警告:- 警告:格式'%u'需要类型为'无符号整数*'的参数,但参数2的类型为'无符号整数'[-Wformat]警告:格式'%lu'需要类型为'长无符号整数*'的参数,但参数2的类型为'长无符号整数'[-Wformat]有人能向我解释一下这里发生了什么吗?

  • 值不能强制转换为日期:10:46:00,值不能强制转换为时间戳:10:46:00