重载和方法

class Student{
                  public int number;
                  public int state;
                  public int score;
                  public String info() {
                       return number+"\t"+state+"\t"+score;
                  }
              }
public class HelloWorld {
      public static void main(String[] args) {
         
          Student stu[] = new Student[20] ;
     for(int i=0;i<stu.length;i++)//成绩学号年级
     {
         stu[i]=new Student();
         stu[i].number=i+1;
         stu[i].score=(int)(Math.random()*101);
         stu[i].state=(int)(Math.random()*6+1);
         
     }
     
     Student s1=null;//创建一个为空的对象进行数据交换
     //根据学生的成绩进行排序,这里运用冒泡排序
     for(int i=0;i<stu.length;i++) {
         for (int j =0; j < stu.length; j++) {
              if(j!=19)//这里必须加上这个条件,不然数字会报出越界的问题
              if(stu[j].score<stu[j+1].score) {
                  s1=stu[j+1];
                  stu[j+1]=stu[j];
                  stu[j]=s1;
              }
         }
     }
     
     System.out.println("学生的成绩排名如下\n学号\t年级\t成绩");
     for (int i = 0; i < stu.length; i++) {
         System.out.println(stu[i].info());
     }
     System.out.println("年级是三年级的学生如下"+'\n'+"学号"+'\t'+"年级"+'\t'+"成绩");
     for(int i=0;i<stu.length;i++) {
     if(stu[i].state==3)
     
         System.out.println(stu[i].info());
     }
     
     
     
}
}
 
 
运行结果如下
学生的成绩排名如下
学号 年级 成绩
9    1    92
14   3    84
5    2    80
13   6    79
17   4    79
4    1    77
2    2    66
8    3    49
10   2    48
3    2    35
12   4    35
18   3    35
19   6    32
15   4    25
1    5    18
6    2    16
7    5    15
11   1    6
16   4    3
20   3    1
年级是三年级的学生如下
学号 年级 成绩
14   3    84
8    3    49
18   3    35
20   3    1
     
     用了csdn上的代码的思路,解决了问题,但还是不懂我的方法为什么不能传
值。
package test1;
class Circle{
      double r;
}
public class Test {
     public static void main(String[] args) {
         Circle R = new Circle();
         R.r=7;
         printAreas(R,5);
       
}
     public static void printAreas(Circle a, int time)
        {
         int i=time;
         System.out.println("Radius\t Area");
         double temp[]=new double[100];
         for(;i>=0;i--)
         {
              temp[i]=3.14*i*i;
         }
         for(i=1;i<=time;i++)
         {
              System.out.println(i+"\t"+temp[i]);
         }
         System.out.println("Now the Radous is "+a.r);
     
        }
     
}
posted @ 2021-07-16 18:24  权。  阅读(49)  评论(0)    收藏  举报