importjava.util.Scanner;publicclasstt{publicstaticvoidmain(String[]args){System.out.println("请输入数字,将其存入numbers[]数组中");Scannerscanner=newScanner(System.in);St...
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< line.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);
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);
return numbers;
}
}
用参数传递的方法做的,不知道哪里错了?
end >= 0 && end < line.length(); 能不能拆开
展开