我正在制作一个程序,让用户输入他的 3 个数字,然后将这些单独的数字与我拥有的数字进行比较。
如何将这些使用输入数字拆分并保存为单个整数?
String.split()和Integer.parseInt()是你的朋友。
String input = "1 2 3";
String[] spl = input.split(" "); //Or another regex depending on the input format
for (String s : spl) {
System.out.println(Integer.parseInt(s)); // or store them as you like
}
String input = "12 23 12";
String[] split = input.split(" "); // or "\t" according to need
int[] arr = new int[split.length];
int count = 0;
for(String s:split)
{
arr[count] = Integer.parseInt(s).intValue();
count++;
}
Java 1.5 中添加了一个非常方便的类,称为Scanner
.
这是我的示例程序,它读取String
、查找所有十进制数字并将它们打印到控制台。分隔符默认为空格。
public static void main(String[] args) {
String userInput = "1 2 3 4 5 6";
try (Scanner scanner = new Scanner(userInput)) {
scanner.useRadix(10);
while (scanner.hasNextInt()) {
int i = scanner.nextInt();
System.out.println(i);
}
}
}
例如String userInput = "1 2 3 4 5 df 6";
// 输出 1 2 3 4 5
有几个优点:
parseInt
,可能会抛出未经检查的异常。NumberFormatException
int
(或您选择的任何其他值)File
, InputStream
, Readable
, ReadableByteChannel
, Path
。