今天早上来公司,逛CSDN的时候看到有人问这个,自己就写了写,应该是满足题意,可以解决问题。源码如下(思路在源码里面有注释):
package com.wonders;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
public class NumberArrayTest {
public static void main(String[] args) {
System.out.println("请输入输一串数字以不同数量的空格分割的字符串:");
Scanner scanner = new Scanner(System.in);
String str = scanner.nextLine();
int minNumber = printMinNumber(str);
System.out.println("最小的数字是: " + minNumber);
}
private static int printMinNumber(String str) {
//字符非空判断
if (str != null && !"".equals(str) ) {
//所有空格用,分隔或者其他符号(空格除外)
str = str.replaceAll(" ", ",");
}
//转为字符串
String[] ch = str.split(",");
//list用于将所有非空格的元素装进去
List<String> list = new ArrayList<String>();
//用于将所有数字元素装进去
List<Integer> numlist = new ArrayList<Integer>();
for (int i = 0; i < ch.length; i++) {
if (ch[i]!=null && !"".equals(ch[i])) {
list.add(ch[i]);
}
}
//判断list中是否全是数字
String regex = "^\\d+$";
for(int i=0;i<list.size() && list.size()>0;i++){
String num = list.get(i);
if (num.matches(regex)) {
numlist.add(Integer.parseInt(list.get(i)));
}
}
//对于numlist进行排序
Collections.sort(numlist);
return numlist.get(0);
}
}