为什么负数的23会输出呢

来源:7-1 编程练习

chen7841835

2015-03-26 16:38

考试成绩的前三名为:
-23
52
64


写回答 关注

4回答

  • 放学路上的小学生
    2015-04-19 17:05:02
    import java.util.Arrays;
    public class HelloWorld {
         
        public static void main(String[] args) {
        HelloWorld hello = new HelloWorld();
        int[] scores ={89,-23,64,91,119,52,73};
        Arrays.sort(scores);    
        System.out.println("考试成绩的前三名为:");    
        hello.getScores(scores);
        }
        
        public void getScores(int[] scores){
            int count = 0;
            for(int i=scores.length-1;i>=0;i--){
                if(scores[i]<=100 && scores[i] >=0 && count < 3){
                    System.out.println(scores[i]);
                    count += 1;
                }          
            }
        }
    }

    为什么楼主要自己定义方法排序呢?有sort方法啊。会简洁不少。

  • ybbzbb
    2015-03-26 21:34:47

    a=3;

    并不是a就是3,而是a指向3

    所以

    int a,b;

    a=a+b;

    b=a-b;

    a=a-b;

    这样可以交换这两个数...

  • ybbzbb
    2015-03-26 18:33:47

    package com.rui.text;


    public class JavaDemoTest {
        

        public static void main(String[] args) {
            JavaDemoTest hello=new JavaDemoTest();
            int []scores={89,-23,64,91,119,52,73};
        
            hello.get(scores);   
        }

        public void get(int scores[]){
            for (int i = 0; i < scores.length; i++) {
                if (scores[i]>100 || scores[i]<0) scores[i]=0;
            }
          for (int i = 0; i < scores.length; i++) {
            for (int j = 0; j < scores.length-1-i; j++) {
                if(scores[j]<scores[j+1]){
                    //交换位置
                    scores[j]=scores[j]+scores[j+1];
                    scores[j+1]=scores[j]-scores[j+1];
                    scores[j]=scores[j]-scores[j+1];
                }
            }
        }    
         
          System.out.println("");
          //System.out.println(scores[t-1]+"\n"+scores[t-2]+"\n"+scores[t-3]);
          System.out.println(scores[0]+"\n"+scores[1]+"\n"+scores[2]);
     
        }
    }



    chen78...

    scores[j]=scores[j]+scores[j+1]; scores[j+1]=scores[j]-scores[j+1]; scores[j]=scores[j]-scores[j+1]; 这个是什么意思?为什么要前后两个数相加赋值给前一个数呢

    2015-03-26 21:04:17

    共 1 条回复 >

  • _Exception
    2015-03-26 16:42:21

    你都没判断 , 

    chen78...

    if(scores[i]>0&&scores[i]<100)这个不算吗

    2015-03-26 16:45:52

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165558 学习 · 17587 问题

查看课程

相似问题