我正在尝试根据用户的输入设置数组的长度,而不需要键来结束数组。例如,当用户键入“3 2 4”时,我的数组将为{3,2,4}。如果用户键入“1”,则数组将为{1}。数组的长度只会根据用户的输入而变化。我正在尝试查看输入键是否可以作为终止值的触发器,但我真的希望得到一些帮助。提前谢谢
答案 0 :(得分:0)
在大多数编程语言中(由于没有给出语言),字符串已经可以用作数组
var str = "hellp";
print str[0];
这会打印出“h”。如果您要使用函数进行计数,那么它将计算数组中的数量。例如PHP = count()或javascript = .length
编辑JAVA
我不确定regexp在Java中是如何工作的,但试试这个
String s = "321351";
int charCount = s.replaceAll("\[^0-9]\", "").length();
println(charCount);
此链接可能会有所帮助Java: How do I count the number of occurrences of a char in a String?
答案 1 :(得分: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'.
答案 2 :(得分: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'