我在我的项目中遇到了麻烦,因为我无法正确开始,即从用户读取一行用空格隔开的整数并将值放入数组中。
System.out.println("Enter the elements separated by spaces: ");
String input = sc.next();
StringTokenizer strToken = new StringTokenizer(input);
int count = strToken.countTokens();
//Reads in the numbers to the array
System.out.println("Count: " + count);
int[] arr = new int[count];
for(int x = 0;x < count;x++){
arr[x] = Integer.parseInt((String)strToken.nextElement());
}
这就是我所拥有的,它似乎只读取数组中的第一个元素,因为初始化count时,出于某种原因将其设置为1。
谁能帮我?以其他方式执行此操作会更好吗?
使您的代码正常工作仅需进行很小的更改。该 错误 是在这一行:
String input = sc.next();
正如我在问题下的评论中指出的那样,它仅读取输入的下一个标记。请参阅文档。
如果您将其替换为
String input = sc.nextLine();
它会执行您想要的操作,因为nextLine()
会消耗整个输入行。
问题内容: 假设我有一个字符串“ 1 23 40 187 298”。该字符串仅包含整数和空格。如何将这个字符串转换为整数数组[1,23,40,187,298]。这就是我尝试的方式 但它不起作用,请提供一些帮助。谢谢! 问题答案: 你忘记了 解析为空字符串以创建新数字位后重置为空字符串 在字符串的末尾将没有空格,所以 } 将不会被调用,这意味着您需要调用 循环后再次 但更简单的方法是只用创建令牌的临
问题内容: 我想从标准输入中读取一组整数值并将其放入整数切片中。不使用循环的最快方法是什么? 例如 如何将这些值放在整数切片中? 问题答案: 无论如何都会有一个循环,这里没有and 循环(在Go Playground 上尝试一下): io: 为了更快地进行输入扫描重写: 使用: 更快的输入扫描
问题内容: 当我的输入为1 2 3(以空格分隔)时,该程序运行良好。但是,当我的输入为1,2,3(以逗号分隔)时,如何修改程序。 问题答案: 您可以使用nextLine方法读取字符串,并使用拆分方法将其以逗号分隔,如下所示: 此方法适用于仅用逗号分隔的3个值。 如果需要更改值的数量,可以使用循环从向量中获取值。
给我一个字符串“23 45”,我需要得到两个值为23的变量(int a)和值为45的变量(int b)
我有这样一个字符串:<代码>0 1-3 4 5 6!7.8 9-10\n11我只想得到两边都有空格或换行符或什么都没有的数字,即0,4,5,6,11。我的regexp只有4和6。 Regexp测试
问题内容: 这个问题很简单,但是我敢打赌,在这里询问可能比尝试理解有关以下文档的方法更直接: 观察值为“ 12,345”。 期望值为“ 12345”。 问题答案: 只需使用