java基础实验:根据用户输入的10个数值,自己写排序算法进行升序排列并输出排序后的结果

这学期学校开了面向对象程序设计这门课,教的是java,从前的学的c语言是面向过程的程序语言,与之想必自然就有了较大的区别,借着做实验作业,记录一下过程。

目录

实验要求:根据用户输入的10个数值,自己写排序算法进行升序排列并输出排序后的结果。

实验代码:

实验截图


实验要求

根据用户输入的10个数值,自己写排序算法进行升序排列并输出排序后的结果。

不难看出,虽然java中可以调用sort库来进行排序,但是手写一个简单的排序算法可以更好的掌握循环的用法

实验代码

import java.util.Scanner;

class Sort{
    //成员变量
    int [] ans = new int [10];
    int N=0;
    int i,j,temp;
    //成员方法
    public void init(){
    Scanner sc = new Scanner(System.in);
    System.out.println("请输入数值:");
    for(int i=0;i<10;i++){
         ans[i] = sc.nextInt();
    }
    }

    public void sort(){
    for(i=0;i<10;i++){//遍历数组
        for(j=i;j<10;j++){//按照大小关系交换数组成员
            if(ans[i]>ans[j]){
                temp =ans[i];
                ans[i] = ans[j];
                ans[j] = temp;
            }
        }
    }
    }
    public void cout(){
        for(i=0;i<10;i++){
            System.out.print(ans[i]);
        }
    }   
}

由于这个功能是记事本写的(心虚),所以需要创建一个test来调用这里的函数

public class TestSort{
    public static void main(String [] args){
    Sort so = new Sort();
    so.init();
    so.sort();
    so.cout();
    }
}

实验截图

用命令提示符编译运行一下看看结果如何 

 

 看来效果不错。

当然这版代码还有很大的改进空间,包括但不限于排序复杂度的改进,可读性的改进等,在此就权做抛砖引玉了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值