代码如下,使用说明见注释
public static void main(String args[]) {。
//定义Integer数组,默认值为10个null。
Integer[] readNums = new Integer[10];。
//使用Scanner的sytem in流。
Scanner sca = new Scanner(System.in);。
for(int i=0;i<10;i++){。
//读取数字放入数组的第i个元素。
readNums[i]=sca.nextInt();。
//通过输出可以看到数组被一个一个赋值了,实际使用中不需要打印。
System.out.println(Arrays.asList(readNums));。
}
完整的参考代码和注释,如下
import java.util.Arrays;。
import java.util.Scanner;。
public class ArrayDemo {。
public static void main(String[] args) {。
int len = 10;//数组的元素个数。
int[] ary = new int[len];//定义数组。
Scanner sc = new Scanner(System.in);//得到一个扫描器,用于读取控制台输入。
for (int i = 0; i < ary.length; i++) {//循环。
System.out.print("请输入数组第"+(i+1)+"个整数:");。
ary[i] = sc.nextInt();//把输入的值存到数组里。
}
System.out.println(Arrays.toString(ary));//打印数组。
}
我把你的程序修改了,改的地方加了注释,你自己研究一下吧。
import java.util.Scanner;。
public class tt {。
public static void main(String[] args) {。
System.out.println("请输入数字,将其存入numbers[]数组中");。
Scanner scanner = new Scanner(System.in);。
String line = scanner.nextLine();。
ArrangedNumbers arrangeNumbers = new ArrangedNumbers();。
String[] numbers = arrangeNumbers.splitSpace(line);。
for (int i = 0; i < numbers.length ; i++) { //这里的循环结束条件应该是数组实际大小。
System.out.println("numbers[" + i + "]=" + numbers[i]);。
}
}
class ArrangedNumbers {。
public String[] splitSpace(String line) {。
String[] numbers = new String[line.length()];。
int i = 0;
line = line.trim();。
int begin = 0;。
int end = line.indexOf(" ");。
for (; end >= 0 && end < line.length(); begin++) {。
numbers[i++] = line.substring(begin, end); //这里的i需要自加,否则只能设置一个值。
//return numbers; 这行没用注释掉。
/*
* 把end的值赋值给begin。
*/
begin = end;。
/*
* 后面肯定至少有一个空格,去掉。
*/
end++;
/*
* 当小于整个长度时
*/
while (end < line.length()) {。
/*
* 查看下一个空格的位置。
*/
end = line.indexOf(" ", end);。
if (end > 0 && line.substring(begin, end).equals(" ")) {。
/*
* 如果在begin和end之间存在空格,丢弃这个空格。
*/
begin = end;。
end++;
} else {
/*
* 如果不是空格或者已经到了字符串结尾,退出while循环。
*/
break;
}
}
}
numbers[i] = line.substring(begin);。
String[] str=new String[i+1]; //你的numbers数组大小要比实际大,有部分是null节点因此声明一个新数组存放有用的.。
for(int j=0;j<i+1;j++)。
str[j]=numbers[j];。
return str;
}
删除空格这样:
String str=" hello world ";。
str=str.replaceAll("\\s+","");。
这样就没有空格了,不用那么麻烦。
第一:要有输入的判断,用户输入的是否是数字,可用el表达式进行判断,
第二:输入框得到输入的数字,传到后台,后台接收后存入数组中,赋值为int[][],或int[],变量。
第三:最好经过dao层后存到数据库。