我正在尝试根据用户的输入设置数组的长度,而不要求输入结束数组的键。例如,当用户键入“3 2 4”时,我的数组将是 {3,2,4}。如果用户键入“1”,则数组将为 {1}。数组的长度只会因用户的输入而异。我正在尝试查看 enter 键是否可以成为结束取值的触发器,但我真的很想得到一些帮助。提前致谢
问问题
2335 次
3 回答
0
如果您使用的是 Java,请尝试以下操作(假设数字用空格分隔):
Scanner sc = new Scanner(System.in);
String[] tokens = sc.nextLine().split(" ");
int[] result = new int[tokens.length];
int i = 0;
for (String token : tokens)
result[i++] = Integer.parseInt(token);
// here you will have de desired array stored in the variable 'result'.
于 2013-03-10T06:57:00.680 回答
0
在大多数编程语言中(因为没有给出语言),字符串已经可以用作数组
var str = "hellp";
print str[0];
这将打印出“h”。如果您要使用函数进行计数,那么它将计算数组中的数量。如 PHP = count() 或 javascript = .length
编辑Java
我不确定正则表达式在 Java 中是如何工作的,但试试这个
String s = "321351";
int charCount = s.replaceAll("\[^0-9]\", "").length();
println(charCount);
这个链接可能有帮助Java:如何计算字符串中 char 的出现次数?
于 2013-03-10T06:45:13.353 回答
0
Scanner sc = new Scanner(System.in);
StringTokenizer stringTokenizer = new StringTokenizer(sc.nextLine(), " ");
int[] result = new int[stringTokenizer.countTokens()];
int i = 0;
while (stringTokenizer.hasMoreTokens()){
result[i] = Integer.parseInt(stringTokenizer.nextToken());
System.out.println(result[i++]);
}
使用上面的代码来处理用户输入给出的额外空格。像下面的字符串:
'1 2 3 4 5 6'
于 2013-03-10T09:44:57.373 回答