对象的属性——成员变量详述

数组作成员变量的应用。

题目:定义学生类Student,可以存放每个学生的姓名、年龄、课程数目、成绩,其中成绩定义为数组类型,可存放多门课程的成绩。该类还包含两个成员方法:能够设置各属性值,能够输出所有信息。

要求:在主类的 main 方法中定义 Student 类的对象数组。提示用户确定学生的个数,然后给每个学生输入各方面信息,最后集体显示在屏幕上。

package Section3;

import java.util.Scanner;      //引入java.util包里的Scanner类

class Student{                 //定义学生类
	String name;               //姓名
	int age;                   //年龄
	int number;                //课程数目
	double score[];            //成绩数组
	
	void setItem(String n,int a,int num,double s[]) {   //设置成员值
	     name = n;
	     age = a;
	     number = num;
	     score = new double[number];  //根据课程数目创建成绩数组
	     for(int i=0;i<number;i++)    //循环给每个成绩元素赋值
	         score[i] = s[i];
	} 
	
	void printInfo() {                //输出各项信息
		 System.out.println("姓名是:"+name+"\n年龄是:"+age);
	     for(int i=0;i<number;i++)
	    	 System.out.println("第"+(i+1)+"门课的成绩是:"+score[i]);
	}
}


public class StudentTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
         Scanner reader = new Scanner(System.in);
         System.out.println("请确定学生人数:");
	     int m = reader.nextInt();
	     Student stu[] = new Student[m];   //根据学生人数创建stu数组
	     for(int j=0;j<m;j++) {            //循环对每个数组进行操作
	    	 //读入一系列当前元素的各项数据
	    	 System.out.println("请输入第"+(j+1)+"个姓名:");
             String n = reader.next();
             System.out.println("请输入第"+(j+1)+"个年龄:");
	         int a = reader.nextInt();
	         System.out.println("请输入第"+(j+1)+"个课程数目:");
	         int num = reader.nextInt();
	         double s[] = new double[num];  //根据课程数目创建数组s
	         for(int i=0;i<num;i++){        //读入相应数目成绩存至s各数组元素
	        	 System.out.println("请输入第"+(i+1)+"门课的成绩:");
	             s[i] = reader.nextDouble();
	         }
	     stu[j] = new Student();            //创建当前stu数组元素引用的Student对象
	     stu[j].setItem(n, a, num, s);      //设置当前元素各项成员数据
	     stu[j].printInfo();                //输出当前元素全部信息
	     }
    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值