为什么我的代码输出来的是统计数量为1.
学科 package com.imooc.subject; public class Subject { //私有属性成员:学科名称、学科编号、学制年限 private String name1; private String nameno; private int year; private Student[] myStudent; private int a; //无参构造函数和有参构造函数 public Subject() {} //给成员属性赋值 public Subject(String name1,String nameno,int year) { this.setName1(name1); this.setNameno(nameno); this.setYear(year); } //name私有属性的访问取值和赋值 public void setName1(String name1) {this.name1=name1; } public String getName1() {return this.name1;} //nameno私有成员的访问权限取值和赋值 public void setNameno(String nameno) {this.nameno=nameno;} public String getNameno() {return this.nameno;} //year私有成员的访问权限取值和赋值 public void setYear(int year) {this.year=year;} public int getYear() {return this.year;} public void setMyStudent(Student[] myStudent) {this.myStudent=myStudent; } public Student[] getMyStudent() { if(myStudent==null) myStudent=new Student[200]; return this.myStudent ;} public void setA(int a) {this.a=a;} public int getA() { return this.a;} // public String daying() { String str="专业信息如下:\n学科名称:"+this.getName1()+"\n学科编号:"+ this. getNameno()+"\n学制年限:"+this.getYear(); return str; } public void b(Student c) { for(int i=0;i<this.getMyStudent().length;) { if(this.getMyStudent()[i]==null) this.getMyStudent()[i]=c; this.a=i+1; i++; return; } } } 学生 package com.imooc.subject; public class Student { //成员属性:学号、姓名、性别、年龄 private String no; private String name; private String sex; private int age; private Subject subjectname2; public Student() {} public Student(String no,String name,String sex,int age) { this.setNo(no); this.setName(name); this.setSex(sex); this.setAge(age); } public Student(String no,String name,String sex,int age,Subject subjectname2) { this.setNo(no); this.setName(name); this.setSex(sex); this.setAge(age); this.setSubjectname2(subjectname2); } public void setNo(String no) {this.no=no;} public String getNo() {return this.no;} public void setName(String name) {this.name=name;} public String getName() {return this.name;} public void setSex(String sex) {this.sex=sex;} public String getSex() {return this.sex;} public void setAge( int age) {if(age<10||age>100) this.age=18; else this.age=age;} public int getAge() {return this.age;} public void setSubjectname2(Subject subjectname2) {this.subjectname2=subjectname2;} public Subject getSubjectname2() {return this.subjectname2;} public String stu() { String str="学生信息如下:\n学号:"+this.getNo()+"\n姓名:"+ this.getName()+"\n性别:"+this.getSex()+"\n年龄:"+this.getAge(); return str; } //方案1 public String stu(String name,int age) {String str="学生信息如下:\n学号:"+this.getNo()+"\n姓名:"+ this.getName()+"\n性别:"+this.getSex()+"\n年龄:"+this.getAge()+"\n学科名称:"+name+"\n学制年限:"+age; return str; } //方案2 public String stu(Subject mysubject) {String str="学生信息如下:\n学号:"+this.getNo()+"\n姓名:"+ this.getName()+"\n性别:"+this.getSex()+"\n年龄:"+this.getAge()+"\n学科名称:"+mysubject.getName1()+"\n学制年限:"+mysubject.getYear(); return str; } //方案3 public String st() {String str="学生信息如下:\n学号:"+this.getNo()+"\n姓名:"+ this.getName()+"\n性别:"+this.getSex()+"\n年龄:"+this.getAge()+"\n学科名称:"+this.getSubjectname2().getName1()+"\n学制年限:"+this.getSubjectname2().getYear(); return str; } } 测试 package com.imooc.test; import com.imooc.subject.Subject; import java.util.Scanner; import com.imooc.subject.Student; public class Testsubject { public static void main(String[] agrs) { String name,name1; int b; Scanner sc=new Scanner(System.in ); System.out.println("请输入专业名称:"); name=sc.next(); System.out.println("请输入学科编号:"); name1=sc.next(); System.out.println("请输入学制年限:"); b=sc.nextInt(); Subject one=new Subject(name,name1,b ); System.out.println(one.daying()); System.out.println("=================="); Student two=new Student("张三","S01","男",18); System.out.println( two.stu()); System.out.println("=================="); Student three=new Student("王麻子","S02","男",19); System.out.println( three.stu("计算机科学与应用",4)); System.out.println("=================="); Student four=new Student("老子","S03","男",20); System.out.println( four.stu(one)); System.out.println("=================="); Student five=new Student("李四","S04","男",21,one); System.out.println( five.st()); one.b(two); one.b(five); System.out.println(one.getA()); } }
18
收起
正在回答 回答被采纳积分+1
2回答
Java零基础入门18
- 参与学习 人
- 提交作业 7317 份
- 解答问题 14452 个
想要入门学编程?多年一直活跃在编程语言排行版前列的Java是一个很好的选择。本路径将从Java基础语法、面向对象、常用工具类三部分,为你开启软件开发的大门!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星