重载和方法
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);
}
}