importjava.util.Scanner;/***Jik类,功能为在标准输入读入一个字符串,把要打印的数字打印出来,使用循环实现。*请输入一串数字:*23312312312312*你输入的数字为:*2331*23*1*23123...
import java.util.Scanner;
/**
* Jik类,功能为在标准输入读入一个字符串,把要打印的数字打印出来,使用循环实现。
* 请输入一串数字:
* 2331 23 1 23123 12
* 你输入的数字为:
* 2331
* 23
* 1
* 23123
* 12
*/
public class Jik {
/**
* Jik类全部功能在主函数中,它从标准输入读入一行字符串,打印出其中所有的数字
*
* @param arguments
* 命令行参数(没有使用)
*/
public static void main(String[] arguments) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一串数字:");
String stringNumbers = scanner.nextLine();
String[] numbers = new String[stringNumbers.length()];
int count = 0;
int begin = 0;
int end = stringNumbers.indexOf(" ");
while (count < stringNumbers.length()) {
/*
* 取中间的数字
*/
numbers[count++] = stringNumbers.substring(begin, end);
begin++;
numbers[count] = stringNumbers.substring(begin);
/*
* 取最后一个的数字
*/
if (end == stringNumbers.indexOf(" ", end))
numbers[count] = stringNumbers.substring(begin);
}
System.out.println("你输入的数字为:");
for (int i = 0; i < numbers.length; i++)
System.out.println(numbers[i]);
}
}
运行结果:
请输入一串数字:
12 3
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(Unknown Source)
at com.yang.Jik.main(Jik.java:42)
问题:需要注释中的结果,不用正则表达方式和高级技术.
谢谢,但不用
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
展开