我正在尝试编写一个从用户那里获取输入的程序,例如" 1 5 3 6 3 5 0"一条线。我想接受这个输入并将每个数字存储在一个数组中。因此,例如,我的数组将具有值1,5,3,6,3,5,0。
我甚至不知道从哪里开始。我知道要创建一个扫描仪。我想也许我可以做nextLine();然后用空格分隔它并将值放入数组中。但是,nextLine()只接受字符串。
答案 0 :(得分:2)
您可以使用.split()
或.chatAt(position)
将整个字符串中的每个元素分开。
String a = example.charAt(0);
例如,这将复制第一个字符。
答案 1 :(得分:1)
在这里,只要输入的数字与它们之间有空格,这将填充一组int:
System.out.println("Enter something > ");
Scanner input = new Scanner(System.in);
//read in string entered by user
String inputString = input.nextLine();
//split the string into an array of strings, using [space]
String[] split = inputString.split(" ");
//create a new int array, and populate it with the contents of the split string
int intarray[] = new int[split.length];
for (int i = 0; i < split.length; i++) {
intarray[i] = Integer.parseInt(split[i]);
}
答案 2 :(得分:0)
String input = "1 5 3 6 3 5 0";
String[] inputs = input.split(" ");
ArrayList<Integer> values = new ArrayList<Integer>();
for (String s : inputs) {
values.add(Integer.parseInt(s));
}
System.out.println(values);
这会打印[1, 5, 3, 6, 3, 5, 0]
。
答案 3 :(得分:0)
Scanner scn = new Scanner(System.in);
int[] nums = new int[5];
out.printf("Enter %d numbers, space separated: ", nums.length);
for(int i = 0; nums.length > i; i ++) {
nums[i] = scn.nextInt();
}
out.println("\nYour values are:");
for(int i : nums) {
out.printf("%-8d", i);// u may use //out.printf("%d\t", i);
}