例题:
定义一个People类,要求如下:
(1)成员变量:name、height、weight,分别表示姓名、身高(cm)和体重(kg);
(2)构造方法通过参数实现对成员变量的赋初值操作;
(3)成员方法int
check(),该方法返回0、1、-1(分别表示标准、过胖或过瘦)。判断方法是,用身高减去110作为参考体重,超过参考体重5kg以上的,为“过胖”;
低于参考体重5kg以上的,为“过瘦”;在(参考体重-5kg)和(参考体重+5kg)之间的,为“标准”。
(4)在main()方法中,输入5个学生的信息(姓名、身高和体重),分别输出标准、过胖或过瘦的人数(必须通过调用check()方法实现)。
在这道题中,需要中创建一个学生数组。
重点代码:
Scanner input=new Scanner (System.in);
People stus[]=new People[5];
System.out.println("请输入5位同学的信息:");
for(int i=0;i<5;i++) {
stus[i]=new People();
stus[i].name=input.next();
stus[i].height=input.nextDouble();
stus[i].weight=input.nextDouble();
}
全部代码:
import java.util.Scanner;
public class People {
String name;
double height;
double weight;
public People() {}
public People(String Name,double Height,double Weight){
this.name=Name;
this.height=Height;
this.weight=Weight;
}
int check() {
double m=height-110;
if((weight-m)>5) {
return 1;
}
else if((weight-m)<-5) {
return -1;
}
else return 0;
}
public static void main(String args[]) {
int a=0,b=0,c=0; //a是体重标准的人数,b是体重过胖的人数,c是体重过瘦的人数
Scanner input=new Scanner (System.in);
People stus[]=new People[5];
System.out.println("请输入5位同学的信息:");
for(int i=0;i<5;i++) {
stus[i]=new People();
stus[i].name=input.next();
stus[i].height=input.nextDouble();
stus[i].weight=input.nextDouble();
}
for(int i=0;i<5;i++) {
if(stus[i].check()==0) a++;
else if(stus[i].check()==1) b++;
else c++;
}
System.out.println("体重标准的人数为:"+a);
System.out.println("体重过胖的人数为:"+b);
System.out.println("体重过瘦的人数为:"+c);
}
}