0

我正在尝试根据用户的输入设置数组的长度,而不要求输入结束数组的键。例如,当用户键入“3 2 4”时,我的数组将是 {3,2,4}。如果用户键入“1”,则数组将为 {1}。数组的长度只会因用户的输入而异。我正在尝试查看 enter 键是否可以成为结束取值的触发器,但我真的很想得到一些帮助。提前致谢

4

3 回答 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 回答