题目链接在此 Problem-1106
问题描述如下
import java.util.ArrayList;
import java.util.Scanner;
/**
* Created by Mirror on 2016/8/12.
*/
public class P1106 {
public void sort(int[] array) {
int len = array.length;
for (int i = 1; i <len ; i++) {
int temp = array[i];
int j = i - 1;
for (; j >= 0 && temp < array[j]; j--) {
array[j + 1] = array[j];
}
array[j + 1] = temp;
}
int i = 0;
for (; i < len ; i++) {
System.out.print(array[i] + " ");
}
if (i == len) {
System.out.print("\n");
}
}
public int[] link(char[] num){
String re;
ArrayList list = new ArrayList();
int i = 0;
for (; i < num.length; i++) {
re = "";
for (; i < num.length && num[i] != '5'; i++) {
if (re.equals("") && num[i] == '0'){
int k = i + 1;
if (k < num.length && num[k] == '5') {
re = "0";
}
break;
}
re = re + num[i];
}
if (!re.equals("") && Integer.parseInt(String.valueOf(re)) > 100000000) {
System.exit(-1);
}
if (!re.equals("")) {
list.add(Integer.parseInt(re));
}
}
if (list.size() == 0) {
System.exit(-1);
}
int[] array = new int[list.size()];
for (int j = 0; j < array.length; j++){
array[j] = Integer.parseInt(String.valueOf(list.get(j)));
}
return array;
}
public static void main(String[] args) {
P1106 instance = new P1106();
Scanner in = new Scanner(System.in);
while (in.hasNextLine()) {
String numStr = in.nextLine();
char[] num = numStr.toCharArray();
if (num.length > 1000) {
System.exit(-1);
}
for (int i = 0; i < num.length; i++) {
int a = num[i]; //将char转换为ascii码
if (a < 48 || a > 57) {
System.exit(-1);
}
}
int re[] = instance.link(num);
instance.sort(re);
}
}
}