我想知道是否有一种方法可以将用户输入作为修订编号。我可以做类似的事情a = gets.chomp.to_i
,但是在ruby中有什么与nextInt()
java中类似的东西,还是我每次都需要进行这些转换?
当使用文件或终端之类的输入流时,使用的是原始字节。您永远不会直接使用原始类型。如果需要基本类型,则必须使用方法来理解字节。在许多情况下,“使用原始字节”与使用字符串同义,因此字符串类型通常具有转换方法以从中提取类型化的数据。
Java具有Scanner
类,该类具有nextInt()
方法。它用于从文本中提取Java整数。它通过解析文本并将其转换为请求的原始数据类型(在这种情况下为)来实现int
。为了使其正常工作,您必须为其提供输入源。当您将它包装起来时System.in
,您会得到一个Scanner
从标准输入中提取数据的输入,该输入通常连接到终端。
Scanner scanner = new Scanner(System.in);
int i = scanner.nextInt();
在Ruby中,我们可以简单地要求字符串尝试将其自身转换为另一种类型。如果要整数:
line = gets # reads from standard input
i = line.to_i # converts the string to an integer
String的to_i
方法执行的转换非常松散,如果无法计算出数字或没有数字开头,则返回零。即使没有要解析的数字,它也永远不会引发异常,并且始终会返回一个数字。
该Integer()
方法执行更严格的转换。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句