2017-03-13-考试
Xplorist Lv6

2017-03-13-考试

实例1:

有1、2、3三个数字,能组成多少个互不相同且无重复数字的三位数?都是多少

核心代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
public class Test01 {
    public static void main(String[] args) {
        
        new Test01().test1();
        new Test01().test(1,5,7);
        
        
    }
    
    public int test1(){
        int count=0;
        int f=1,s=2,t=3;
        
        for(int i=1;i<4;i++){
            for(int j=1;j<4;j++){
                for(int n=1;n<4;n++){
                    if(i!=j&&i!=n&&j!=n){
                        count++;
                        System.out.println("第"+count+"个数:"+i+""+j+""+n);
                    }
                }
            }
        }
        System.out.println("1,2,3三个数能组成 "+count+" 个互不相同且无重复数字的三位数");
        return count;
    }
    
    public int test(int f,int s,int t){
        int count=0;
        int[] a={f,s,t};
        
        for(int i=0;i<a.length;i++){
            for(int j=0;j<a.length;j++){
                for(int k=0;k<a.length;k++){
                    if(a[i]!=a[j]&&a[i]!=a[k]&&a[j]!=a[k]){
                        count++;
                        System.out.println("第"+count+"个数:"+a[i]+""+a[j]+""+a[k]);
                    }
                }
            }
        }
        
        System.out.println(f+""+s+""+t+"三个数能组成"+count+"个互不相同且无重复数字的三位数");
        return count;
    }
    
}

实例2:

某次选秀活动找你做一个打分系统,设定一共有5位评委,他们分别对选手诶打分,需要程序统计选手得分。要求如下:5位评委打分后,输出选手得分
 * 【得分规则:去掉最高分和最低分,剩下3个分数的平均分就是选手的得分】

核心代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
public class Test02 {
    public static void main(String[] args) {
        new Test02().test();
    }
    
    public void test(){
        Scanner sc=new Scanner(System.in);
        
        System.out.println("请输入第一个评委的打分:");
        int first=sc.nextInt();
    
        System.out.println("请输入第二个评委的打分:");
        int second=sc.nextInt();
        System.out.println("请输入第三个评委的打分:");
        int third=sc.nextInt();
        System.out.println("请输入第四个评委的打分:");
        int fourth=sc.nextInt();
        System.out.println("请输入第五个评委的打分:");
        int fifth=sc.nextInt();
        
        int[] a={first,second,third,fourth,fifth};
        
        for(int i=0;i<a.length-1;i++){
            for(int j=i+1;j<a.length-1;j++){
                if(a[i]>a[j]){
                    a[i]=a[i]+a[j];
                    a[j]=a[i]-a[j];
                    a[i]=a[i]-a[j];
                }
            }
        }
        
        int average=(a[1]+a[2]+a[3])/3;
        
        System.out.println("去掉最高分和最低分,剩下3个分数的平均分就是选手的得分:"+average);
        
    }
}

实例3:

编程创建一个student类,在其中包括属性(学号,年级,姓名,性别,年龄)并创建对象s。添加构造方法初始化所有的属性,
 * 并增加一个show()方法,把该类中那个的所有属性信息组合成一个字符串,并输出显示。
 * 创建两个student类的对象,比较二者年龄,输出其中年龄较大的学生的姓名。

核心代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
public class Student {
    public int number;//学号
    public int degree;//年级
    public String name;//姓名
    public char sex;//性别
    public int age;//年龄
    
    public Student(int number,int degree,String name,char sex,int age){
        this.number=number;
        this.degree=degree;
        this.name=name;
        this.sex=sex;
        this.age=age;
    }
    
    public void show(){
        String message="学号:"+number+" 年级:"+degree+" 姓名:"+name+" 性别:"+sex+" 年龄:"+age;
        System.out.println(message);
    }
    
    public static String compare(Student s1,Student s2){
        String str="";
        
        if(s1.age>s2.age){
            str=s1.name;
        }else{
            str=s2.name;
        }
        
        return str;
                
    }
    
    public static void main(String[] args) {
        Student s=new Student(1001, 5, "张三", '男', 12);
        s.show();
        
        Student s1=new Student(1002, 6, "李四", '男',13);
        s1.show();
        Student s2=new Student(1003, 7, "王五", '女',14);
        s2.show();
        
        String str=Student.compare(s1, s2);
        System.out.println("年龄较大的学生是:"+str);
    }
}

思考:

如果实例1的三个数改成不确定的n个数,怎么算出排列的个数?数学中的排列组合问题。

n个数中选出n个数来进行排列,公式是:n!种排列。那么就可以直接套公式。

阶乘要用到递归。

思考:

如何生成一个随机的数组,数组中的数字是0~9之间的,但是顺序是随机的。

思路:

1.生成数组的时候产生随机数,然后再筛选,如果前面的数和后面的某个数相同的时候,就把后面的某个数再随机一次直到和前面的数不相同为止。

2.顺序生成数组0~9,然后再将顺序打乱。

1核心代码(有错):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**生成0~9的数组,然后将数组里的数的顺序打乱,随机打乱*/
    public void test4(){
        int[] a=new int[10];
        for(int i=0;i<10;i++){
            a[i]=i;
        }
        
        for(int i=0;i<a.length-1;i++){
            int x=(int)(Math.random()*10);
            System.out.println(x);
            
            int t=a[i];
            a[x]=a[i];
            a[i]=x;
        }
        
        for(int i=0;i<a.length;i++){
            System.out.print(a[i]+" ");
        }
        
        
    }

2核心代码(有错):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
/**
     * 生成一个随机数组,然后判断里面的每个数和后面的数是否重复,如果重复则将后面的数再随机一遍,直到随机到不相同为止
     * */
    public void test7(){
        int[] a=new int[10];
        for(int i=0;i<a.length;i++){
            a[i]=(int)(Math.random()*10);
        }
        
        System.out.println(Arrays.toString(a));
        
        for(int i=0;i<a.length-1;i++){
            for(int j=i+1;j<a.length;j++){
                if(a[i]==a[j]){
                    while(a[i]==a[j]){
                        a[j]=(int)(Math.random()*10);
                    }
                }
            }
        }
        System.out.println(Arrays.toString(a));
    }

实例4:

/**
     * 晚自习练习题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同
     * */

核心代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public void test5(int n){
        if(n>99){
        String s=Integer.toString(n);
        char[] c=new char[s.length()];
        for(int i=0;i<s.length();i++){
            c[i]=s.charAt(i);
        }
        
        for(int i=0,j=s.length()-1;i<=j;i++,j--){
                if(c[i]!=c[j]){
                    System.out.println(s+"不是回文数");
                    return;
                }
        }
        System.out.println(s+"是回文数");
        }else{
            System.out.println(n+"不是回文数");
        }
    }

实例5:

/**
     * 将一个正整数分解质因数。例如:输入90,打印出90=233*5。 
     * */

核心代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public void test6(int n){
        System.out.print(n+"=");
        for(int i=2;i<n;i++){
            
            if(n%i==0){
                System.out.print(i+"*");
                n=n/i;
                i-=1;
            }
            
        }
        System.out.println(n);
    }

 评论
// variables $gt-color-main := #6190e8 $gt-color-sub := #a1a1a1 $gt-color-loader := #999999 $gt-color-error := #ff3860 $gt-color-hr := #e9e9e9 $gt-color-comment-txt := #333333 $gt-color-link-active := #333333 $gt-color-btn := #ffffff $gt-size-base := 16px // default font-size $gt-size-border-radius := 5px $gt-breakpoint-mobile := 479px $gt-mask-z-index := 9999 // functions & mixins clearfix() { &:before &:after { display table clear both content "" } } em($px, $base-size = $gt-size-base) { u = unit($px) if (u is 'px') { unit($px / $base-size, 'em') } else { unit($px, u) } } mobile() { @media (max-width $gt-breakpoint-mobile) { {block} } } // variables - calculated $gt-size-loader-dot := em(6px) $gt-size-loader := em(28px) $gt-size-avatar := em(50px) $gt-size-avatar-mobi := em(32px) // styles // Put everything under container to avoid style conflicts .comments-container { .gt-container { box-sizing border-box * { box-sizing border-box } font-size $gt-size-base // common a { color $gt-color-main &:hover { color lighten($gt-color-main, 20%) border-color lighten($gt-color-main, 20%) } &.is--active { color $gt-color-link-active cursor default !important &:hover { color $gt-color-link-active } } } .hide { display none !important } // icons .gt-svg { display inline-block width em(16px) height em(16px) vertical-align sub svg { width 100% height 100% fill $gt-color-main } } .gt-ico { display inline-block &-text { margin-left em(5px) } &-github { width 100% height 100% .gt-svg { width 100% height 100% } svg { fill inherit } } } // loader .gt-spinner { position relative &::before { position absolute top 3px box-sizing border-box width em(12px) height em(12px) margin-top em(-3px) margin-left em(-6px) border 1px solid $gt-color-btn border-top-color $gt-color-main border-radius 50% animation gt-kf-rotate 0.6s linear infinite content '' } } .gt-loader { position relative display inline-block width $gt-size-loader height $gt-size-loader font-style normal // font-size: $gt-size-loader line-height $gt-size-loader border 1px solid $gt-color-loader border-radius 50% animation ease gt-kf-rotate 1.5s infinite &:before { position absolute top 0 left 50% display block width $gt-size-loader-dot height $gt-size-loader-dot margin-top -($gt-size-loader-dot / 2) margin-left -($gt-size-loader-dot / 2) background-color $gt-color-loader border-radius 50% content '' } } // avatar .gt-avatar { display inline-block width $gt-size-avatar height $gt-size-avatar +mobile() { width $gt-size-avatar-mobi height $gt-size-avatar-mobi } img { width 100% height auto border-radius 3px } &-github { width $gt-size-avatar - em(2px) height $gt-size-avatar - em(2px) cursor pointer +mobile() { width $gt-size-avatar-mobi - em(2px) height $gt-size-avatar-mobi - em(2px) } } } // button .gt-btn { display inline-block padding em(12px) em(20px) color $gt-color-btn font-size em(12px) line-height 1 white-space nowrap text-decoration none background-color $gt-color-main border 1px solid $gt-color-main border-radius $gt-size-border-radius outline none cursor pointer &-text { font-weight 400 } &-loading { position relative display inline-block width em(12px) height em(16px) margin-left em(8px) vertical-align top } &.is--disable { cursor not-allowed opacity 0.5 } &-login { margin-right 0 } &-preview { color $gt-color-main background-color var(--background-color) &:hover { background-color var(--second-background-color) } } &-public { &:hover { background-color lighten($gt-color-main, 20%) border-color lighten($gt-color-main, 20%) } } } } &-loadmore // loadmore /* error */ .gt-error { margin em(10px) color $gt-color-error text-align center } // initing .gt-initing { padding em(20px) 0 text-align center &-text { margin em(10px) auto font-size 92% } } // no int .gt-no-init { padding em(20px) 0 text-align center } // link .gt-link { border-bottom 1px dotted $gt-color-main &-counts &-project { text-decoration none } } // meta .gt-meta { position relative z-index 10 margin em(20px) 0 padding em(16px) 0 font-size em(16px) border-bottom 1px solid $gt-color-hr clearfix() } .gt-counts { margin 0 em(10px) 0 0 color var(--default-text-color) } .gt-user { float right margin 0 font-size 92% &-pic { width 16px height 16px margin-right em(8px) vertical-align top } &-inner { display inline-block cursor pointer .gt-user-name { color var(--default-text-color) } } .gt-ico { margin 0 0 0 em(5px) svg { fill var(--default-text-color) } } .is--poping { .gt-ico { svg { fill $gt-color-main } } } } .gt-version { margin-left em(6px) color $gt-color-sub } .gt-copyright { margin 0 em(15px) em(8px) padding-top em(8px) border-top 1px solid var(--border-color) } // popup .gt-popup { position absolute top em(38px) right 0 display inline-block padding em(10px) 0 font-size em(14px) letter-spacing 0.5px background var(--background-color) border 1px solid var(--border-color) .gt-action { position relative display block margin em(8px) 0 padding 0 em(18px) text-decoration none cursor pointer &.is--active { &:before { position absolute top em(7px) left em(8px) width em(4px) height em(4px) background $gt-color-main content '' } } } } // header .gt-header { position relative display flex &-comment { flex 1 margin-left em(20px) +mobile() { margin-left em(14px) } } &-textarea { display block box-sizing border-box width 100% min-height em(82px) max-height em(240px) padding em(12px) color var(--default-text-color) font-size em(14px) word-wrap break-word background-color var(--fourth-text-color) border 1px solid var(--border-color) border-radius $gt-size-border-radius outline none transition all 0.25s ease resize vertical &:hover { background-color var(--background-color) } } &-preview { padding em(12px) background-color var(--background-color) border 1px solid var(--border-color) border-radius $gt-size-border-radius } &-controls { position relative margin em(12px) 0 0 clearfix() +mobile() { margin 0 } &-tip { color $gt-color-main font-size em(14px) text-decoration none vertical-align sub +mobile() { display none } } .gt-btn { float right margin-left em(20px) +mobile() { float none width 100% margin em(12px) 0 0 } } } } &:after { position fixed top 0 right 0 bottom 100% left 0 opacity 0 content '' } &.gt-input-focused { position relative &:after { position fixed top 0 right 0 bottom 0 left 0 z-index $gt-mask-z-index background #000 opacity 0.6 transition opacity 0.3s, bottom 0s content '' } .gt-header-comment { z-index $gt-mask-z-index + 1 } } // comments .gt-comments { padding-top em(20px) &-null { text-align center } &-controls { margin em(20px) 0 text-align center } } // comment .gt-comment { position relative display flex padding em(10px) 0 &-content { flex 1 margin-left em(20px) padding em(12px) em(16px) overflow auto background-color var(--second-background-color) transition all ease 0.25s +mobile() { margin-left em(14px) padding em(10px) em(12px) } } &-header { position relative margin-bottom em(8px) font-size em(14px) } &-block-1 { float right width em(32px) height em(22px) } &-block-2 { float right width em(64px) height em(22px) } &-username { color $gt-color-main font-weight 500 text-decoration none &:hover { text-decoration underline } } &-text { margin-left em(8px) color $gt-color-sub } &-date { margin-left em(8px) color $gt-color-sub } &-like &-edit &-reply { position absolute height em(22px) &:hover { cursor pointer } } &-like { top 0 right em(32px) } &-edit &-reply { top 0 right 0 } &-body { // color: $gt-color-comment-txt !important color var(--second-text-color) !important .email-hidden-toggle a { display inline-block height 12px padding 0 9px color #444d56 font-weight 600 font-size 12px line-height 6px text-decoration none vertical-align middle background #dfe2e5 border-radius 1px &:hover { background-color #c6cbd1 } } .email-hidden-reply { display none white-space pre-wrap .email-signature-reply { margin 15px 0 padding 0 15px color #586069 border-left 4px solid #dfe2e5 } } .email-hidden-reply.expanded { display block } } &-admin { .gt-comment-content { background-color var(--fourth-text-color) } } } @keyframes gt-kf-rotate { 0% { transform rotate(0) } 100% { transform rotate(360deg) } } }