注册 登录
编程论坛 JAVA论坛

为什么state1方法中不能用其他数组做形参,麻烦大神回复!

俞123456 发布于 2021-11-24 11:16, 2600 次点击
package 对象;

public class text1 {

    public static void main(String[] args) {
        
      student [] s=new student[20];
        
        for(int i=0;i<s.length;i++) {
            
          s[i]=new student();
          s[i].number=(i+1);
          s[i].state=s[i].nianji();
          s[i].score=s[i].chengji();
        }
        text1 text0=new text1();
        //text0.pao(s);
        //text0.print(s);
        text0.state1(s, 2);
        }
   
    /**
     * 遍历输出
     */
    public void print(student []s) {
        for(int i=0;i<s.length;i++) {
            System.out.println("学号为"+s[i].number+"年级为"+s[i].state+"成绩为"+s[i].score);
            }
    }
    /**
     * 选择state相同
     */
    public void state1(student []arr,int state) {
      
        for(int i=0;i<arr.length;i++) {
            
            arr[i]=new student();
            if(arr[i].state==state) {
                System.out.println("学号为"+arr[i].number+"年级为"+arr[i].state+"成绩为"+arr[i].score);
            }
            
            }
    }
    /**
     * 冒泡排序
     */
  public void pao(student [] s) {
      for(int i=0;i<s.length-1;i++) {
        for(int j=0;j<s.length-1-i;j++) {
            if(s[j].score>s[j+1].score) {
                student tem;
                tem=s[j];
                s[j]=s[j+1];
                s[j+1]=tem;
            }
        }  
      }
  }
}
class student{
    int number;
    int state;
    int score;
    public int nianji() {
        double b=Math.random()*(6+1-1)+1;
        state=(int)b;
        return state;
    }
    public int chengji() {
        double c=Math.random()*(100+1-0)+0;
        score=(int)c;
        return score;
    }
}
    为什么state1方法中不能用其他数组做形参;定义完数组需要在方法里面再重新创建数组对象吗?麻烦大神回复!!!!!
1 回复
#2
林月儿2021-11-24 20:35
定义完数组需要在方法里面再重新创建数组对象吗?

你想要做什么?或者研究什么?
1