java请输入数字,将其存入数组中

import java.util.Scanner;

public class tt {
public static void main(String[] args) {
while (true){
System.out.println("请输入数字,将其存入numbers[]数组中");
Scanner scanner = new Scanner(System.in);
String line = scanner.nextLine();
ArrangedNumbers arrangeNumbers = new ArrangedNumbers();
String[] numbers = arrangeNumbers.deleteSpaces(line);
for (int i = 0; i < numbers.length ; i++) {
System.out.println("numbers[" + i + "]=" + numbers[i]);
}
String space=" ";
if (line.endsWith(space))
{
return;
}
}
}
}

class ArrangedNumbers
{
/**
* 删除字符串前后的空格,得到新字符串
* 并删除新字符串间的空格,将得到的字符串保存到数组中
*
* @param line 字符串为了得到数字用
* @return 返回stringNumbers[]数组
* @see com.yang#isNumbers(String)
*/
public String[] deleteSpaces(String line) {

String[] numbers = new String[line.length()];
int i = 0;
line = line.trim();
int begin = 0;
int end = line.indexOf(" ");
while(end >= 0) {
numbers[i++] = line.substring(begin, end);
/*
* 找到下一个非空格作为begin
*/
begin=end;
/*
* 找到了begin,继续找空格作为end
*/
end++;
/*
* 没找到begin,跳出循环
*/
if (begin!=end) {
break;
}
while (end < line.length()) {
/*
* 找到begin后的第一个空格作为end
*/
end = line.indexOf(" ", end);
if (end > 0 && line.substring(begin, end).equals(" ")) {
/*
* 找到了end,继续循环
*/
end++;
}
else {
/*
* 没找到end,跳出循环
*/
break;
}
}
}
numbers[i] = line.substring(begin);
String[] stringNumbers = new String[i + 1];
for (int j = 0; j < i + 1; j++)
stringNumbers[j] = numbers[j];
return stringNumbers;
}
}
中间的空格去不了?
麻烦改改?

删除空格这样:
String str=" hello world ";
str=str.replaceAll("\\s+","");
这样就没有空格了,不用那么麻烦
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-12-27
newStr="kkk ddd lll".replace(" ","");
相似回答