本帖最后由 〆_、Wali 于 2014-10-13 22:06 编辑
那天面试的时候忘了键盘录入,今天特意去查了一下,把代码补上,运行效率可能比较低,你可以参考改进一下!
- import java.io.*;
- public class SequenceArray {
- public static void main(String[] args)throws Exception {
- // TODO Auto-generated method stu
- System.out.println("请输入需要进行排序的整型数组元素,各元素之间以逗号形式隔开,若要退出,请输入“end”");
- //读取键盘录入
- InputStream in = System.in;
- byte[] buf = new byte[1024];
- int len = 0;
- while((len = in.read(buf))!=-1){
- //将读入的数据转换为字符串
- String str = new String(buf,0,len).trim();
- // System.out.println(str.length());
- if("end".equalsIgnoreCase(str)){
- System.exit(0);
- }
- //通过split方法将字符串转化为字符数组
- String[] strs = str.split(",");
- int[] arr = new int[strs.length];
- for(int i = 0;i<strs.length;i++){
- strs[i]=strs[i].trim();
- //利用Integer类的parseInt方法将字符串转换为整型数据,并赋值给整型数组
- arr[i]= Integer.parseInt(strs[i]);
- }
-
- //自定义的排序算法对整型数组进行排序,该方法可能效率较低,可自行改进
- for(int i=0;i<arr.length;i++){
- for(int j =i;j<arr.length;j++){
- if(arr[i]<arr[j])
- {
- int tmp = arr[i];
- arr[i]=arr[j];
- arr[j]=tmp;
- }
- }
- }
- //排序之后的数组
- for(int a:arr){
- System.out.println(a);
- }
- System.out.println("请输入需要进行排序的整型数组元素,各元素之间以逗号形式隔开,若要退出,请输入“end”");
- }
- }
- }
复制代码
|