(java)根据输入值的数量设置数组的长度?
我正在尝试根据用户的输入设置数组的长度,而不要求使用键结束数组。例如,当用户键入“324”时,我的数组将是{3,2,4}。如果用户键入“1”,那么数组将是{1}。数组的长度只会根据用户的输入而变化。我试着看看enter键是否可以作为结束取值的触发器,但我真的希望在这方面得到一些帮助。提前感谢在大多数编程语言中(因为没有给出任何语言),字符串已经可以用作数组了(java)根据输入值的数量设置数组的长度?,java,arrays,enter,Java,Arrays,Enter,我正在尝试根据用户的输入设置数组的长度,而不要求使用键结束数组。例如,当用户键入“324”时,我的数组将是{3,2,4}。如果用户键入“1”,那么数组将是{1}。数组的长度只会根据用户的输入而变化。我试着看看enter键是否可以作为结束取值的触发器,但我真的希望在这方面得到一些帮助。提前感谢在大多数编程语言中(因为没有给出任何语言),字符串已经可以用作数组了 var str = "hellp"; print str[0]; 这将打印出“h”。如果要使用一个函数进行计数,那么它将计算数组中的
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,此链接可能会有所帮助(假设数字以空格分隔): 使用上面的代码来处理用户输入的额外空格。 如下字符串所示:
“1 2 3 4 5 6”您使用什么编程语言?请正确标记问题。eclipse不是一种语言,而是一种软件。你在使用java吗?是的,eclipse只是一个用于java的工具,实际上eclipse是一个用于多种不同语言的工具,我没有意识到这一点。thanksI希望避免使用string,因为我正在生成一个int数组,使用string可能会导致捕捉整数的正确值时出错。例如,“34 2 13”转换为{34,2,13}会很可怕。因此,您希望捕获输入值中的每个int而不是分组?是的,我需要int的各个值,并且我必须能够计算int用户输入的数量。
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'.
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++]);
}