Java简单案例:简单判断美女

题目:

1.选出3个女生 得到身高和体重
2.计算女生的身高和 体重和
3.计算女生平均体重和平均身高
4.判断 如果平均身高>160 体重<50 都是美女 否则不是

阶段一

1.选出3个女生 得到身高和体重

我们开始建立一个Meinv类
在这里插入图片描述

分别用数组heightswights定义女生的身高和体重

ArrayList<Integer> heights = new ArrayList();
ArrayList<Integer> wights = new ArrayList();

我们定义了数组后,我们把三位女生的信息写进去

heights.add(180);
heights.add(170);
heights.add(160);
wights.add(50);
wights.add(45);
wights.add(46);

由上面代码知道,这三位女生身高体重分别是

女生1:身高-180,体重-50
女生2:身高-170,体重-45
女生3:身高-160,体重-46

进行这样操作后,我们在java中得到了三位女生的信息了。

2.计算女生的身高和 体重和

我们定义两个变量sumWsumH 分别表示体重和与身高和

int sumW = 0;
int sumH = 0;

用for循环计算体重和与身高和

for (int i = 0; i < heights.size(); i++) {
    sumH = sumH + heights.get(i);
    sumW += wights.get(i);
}

我们由于用了数组,也可以用增强for循环遍历数组

//        增强for循环
        for (int i : heights) {
            sumH = sumH + i;
        }
        for (int i : wights) {
            sumW = sumW + i;
        }

最后我们输出下看看体重和与身高和

System.out.println("身高和:"+sumH);
System.out.println("体重和:"+sumW);

得到的结果是这样的
在这里插入图片描述

3.计算女生平均体重和平均身高

这里我们一样,定义两个变量avgHavgW 分别表示平均身高与平均体重

int avgH = 0;
int avgW = 0;

计算

avgH = sumH / heights.size();
avgW = sumW / wights.size();

查看结果

System.out.println("平均身高:" + avgH);
System.out.println("平均体重:" + avgW);

在这里插入图片描述

4.判断 如果平均身高>160 体重<50 都是美女 否则不是

这边我们用简单的if语句判断就好了

if (avgH > 160 && avgW < 50) {
    System.out.println("是美女");
} else {
    System.out.println("不是美女");
}

得出的结果:
在这里插入图片描述

现阶段总体代码

package test;

import java.util.ArrayList;

public class Meinv {
    public static void main(String[] args) {

        /*信息*/
        ArrayList<Integer> heights = new ArrayList();
        ArrayList<Integer> wights = new ArrayList();
        heights.add(180);
        heights.add(170);
        heights.add(160);
        wights.add(50);
        wights.add(45);
        wights.add(46);

        /*身高和体重和*/
        int sumW = 0;
        int sumH = 0;


//        for (int i = 0; i < heights.size(); i++) {
//            sumH = sumH + heights.get(i);
//            sumW += wights.get(i);
//        }
//        增强for循环
        for (int i : heights) {
            sumH = sumH + i;
        }
        for (int i : wights) {
            sumW = sumW + i;
        }

        System.out.println("身高和:" + sumH);
        System.out.println("体重和:" + sumW);

        /*平均体重和平均身高*/
        int avgH = 0;
        int avgW = 0;

        avgH = sumH / heights.size();
        avgW = sumW / wights.size();

        System.out.println("平均身高:" + avgH);
        System.out.println("平均体重:" + avgW);

        /*如果平均身高>160  体重<50 就是美女 否则不是*/
        if (avgH > 160 && avgW < 50) {
            System.out.println("是美女");
        } else {
            System.out.println("不是美女");
        }

    }
}

阶段二

这样就完了吗?
当然不是了。从上面的代码可以知道,这些数字都是我提前写进去的。如果以后要提前输入,这样多不方便。我们接下来就改下,让我们的数据随着我们输入而变化。

JAVA中获取键盘输入的方法是使用Scanner类

选出3个女生 得到身高和体重

这里我们把之前提前写入的数组注释掉,并用scanner代替

//        heights.add(180);
//        heights.add(170);
//        heights.add(160);
//        wights.add(50);
//        wights.add(45);
//        wights.add(46);
        Scanner sc = new Scanner(System.in);
        heights.add(sc.nextInt());
        heights.add(sc.nextInt());
        heights.add(sc.nextInt());
        wights.add(sc.nextInt());
        wights.add(sc.nextInt());
        wights.add(sc.nextInt());

结果(绿色字体为手动输入信息)
在这里插入图片描述

可是这样完全没有提示信息,不知道输入到第几个女生,不知道当前要输入的是体重还是身高。

那么我们在改下代码:用循环来提示输入的信息

        Scanner sc = new Scanner(System.in);
//        heights.add(sc.nextInt());
//        heights.add(sc.nextInt());
//        heights.add(sc.nextInt());
//        wights.add(sc.nextInt());
//        wights.add(sc.nextInt());
//        wights.add(sc.nextInt());

        for (int i = 0; i <= 2; i++) {
            System.out.println("请输入第" + (i + 1) + "个女生的身高:");
            heights.add(sc.nextInt());

            System.out.println("请输入第" + (i + 1) + "个女生的体重:");
            wights.add(sc.nextInt());
        }

结果:
在这里插入图片描述
在这里插入图片描述

现阶段总体代码

package test;

import java.util.ArrayList;
import java.util.Scanner;

public class Meinv {
    public static void main(String[] args) {

        /*信息*/
        ArrayList<Integer> heights = new ArrayList();
        ArrayList<Integer> wights = new ArrayList();
//        heights.add(180);
//        heights.add(170);
//        heights.add(160);
//        wights.add(50);
//        wights.add(45);
//        wights.add(46);
        Scanner sc = new Scanner(System.in);
//        heights.add(sc.nextInt());
//        heights.add(sc.nextInt());
//        heights.add(sc.nextInt());
//        wights.add(sc.nextInt());
//        wights.add(sc.nextInt());
//        wights.add(sc.nextInt());

        for (int i = 0; i <= 2; i++) {
            System.out.println("请输入第" + (i + 1) + "个女生的身高:");
            heights.add(sc.nextInt());

            System.out.println("请输入第" + (i + 1) + "个女生的体重:");
            wights.add(sc.nextInt());
        }

        /*身高和体重和*/
        int sumW = 0;
        int sumH = 0;


//        for (int i = 0; i < heights.size(); i++) {
//            sumH = sumH + heights.get(i);
//            sumW += wights.get(i);
//        }
//        增强for循环
        for (int i : heights) {
            sumH = sumH + i;
        }
        for (int i : wights) {
            sumW = sumW + i;
        }

        System.out.println("身高和:" + sumH);
        System.out.println("体重和:" + sumW);

        /*平均体重和平均身高*/
        int avgH = 0;
        int avgW = 0;

        avgH = sumH / heights.size();
        avgW = sumW / wights.size();

        System.out.println("平均身高:" + avgH);
        System.out.println("平均体重:" + avgW);

        /*如果平均身高>160  体重<50 就是美女 否则不是*/
        if (avgH > 160 && avgW < 50) {
            System.out.println("是美女");
        } else {
            System.out.println("不是美女");
        }

    }
}

阶段三

面向对象的三大特征是封装继承多态
Java是一门面向对象编程语言,所以它也拥有了面向对象的三大特征。接下来我们进行封装下。

封装类

封装就是将属性私有化,提供公有的方法访问私有属性。
我们可以封装一个Girl类。

其中属性有

private int height;
private int wight;

访问和获取数据的方法(get,set)

public int getHeight() {
    return height;
}

public void setHeight(int height) {
    this.height = height;
}

public int getWight() {
    return wight;
}

public void setWight(int wight) {
    this.wight = wight;
}

Girl类整体代码:

package test;

public class Girl {
    private int height;
    private int wight;

    public int getHeight() {
        return height;
    }

    public void setHeight(int height) {
        this.height = height;
    }

    public int getWight() {
        return wight;
    }

    public void setWight(int wight) {
        this.wight = wight;
    }
}

选出3个女生 得到身高和体重

我们改下这模块的代码,使用封装的类。

将之前定义的属性数组等注释掉,改成girllist数组。

//        ArrayList<Integer> heights = new ArrayList();
//        ArrayList<Integer> wights = new ArrayList();
        List<Girl> girllist =new ArrayList<>();

将阶段二中的for循环输入代码修改

        for (int i = 0; i <= 2; i++) {
            Girl girl =new Girl();

            System.out.println("请输入第" + (i + 1) + "个女生的身高:");
            int h =  sc.nextInt();
//            heights.add(sc.nextInt());
            girl.setHeight(h);

            System.out.println("请输入第" + (i + 1) + "个女生的体重:");
            int w =sc.nextInt();
//            wights.add(sc.nextInt());
            girl.setWight(w);

            girllist.add(girl);
        }

计算女生的身高和 体重和

将增强for循环改成这样

//        增强for循环
//        for (int i : heights) {
//            sumH = sumH + i;
//        }
//        for (int i : wights) {
//            sumW = sumW + i;
//        }
        for (Girl g : girllist) {
            sumH = sumH + g.getHeight();
        }
        for (Girl g : girllist) {
            sumW = sumW + g.getWight();
        }

计算女生平均体重和平均身高

因为之前都用heightswights这两个数组,现在改成girllist

//        avgH = sumH / heights.size();
//        avgW = sumW / wights.size();
        avgH = sumH / girllist.size();
        avgW = sumW / girllist.size();

判断 如果平均身高>160 体重<50 都是美女 否则不是

这边不用变

输出结果
在这里插入图片描述

现阶段总体代码

Meinv类:

package test;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class Meinv {
    public static void main(String[] args) {

        /*信息*/
//        ArrayList<Integer> heights = new ArrayList();
//        ArrayList<Integer> wights = new ArrayList();
        List<Girl> girllist = new ArrayList<>();
//        heights.add(180);
//        heights.add(170);
//        heights.add(160);
//        wights.add(50);
//        wights.add(45);
//        wights.add(46);
        Scanner sc = new Scanner(System.in);
//        heights.add(sc.nextInt());
//        heights.add(sc.nextInt());
//        heights.add(sc.nextInt());
//        wights.add(sc.nextInt());
//        wights.add(sc.nextInt());
//        wights.add(sc.nextInt());

        for (int i = 0; i <= 2; i++) {
            Girl girl = new Girl();

            System.out.println("请输入第" + (i + 1) + "个女生的身高:");
            int h = sc.nextInt();
//            heights.add(sc.nextInt());
            girl.setHeight(h);

            System.out.println("请输入第" + (i + 1) + "个女生的体重:");
            int w = sc.nextInt();
//            wights.add(sc.nextInt());
            girl.setWight(w);

            girllist.add(girl);
        }

        /*身高和体重和*/
        int sumW = 0;
        int sumH = 0;


//        for (int i = 0; i < heights.size(); i++) {
//            sumH = sumH + heights.get(i);
//            sumW += wights.get(i);
//        }
//        增强for循环
//        for (int i : heights) {
//            sumH = sumH + i;
//        }
//        for (int i : wights) {
//            sumW = sumW + i;
//        }
        for (Girl g : girllist) {
            sumH = sumH + g.getHeight();
        }
        for (Girl g : girllist) {
            sumW = sumW + g.getWight();
        }


        System.out.println("身高和:" + sumH);
        System.out.println("体重和:" + sumW);

        /*平均体重和平均身高*/
        int avgH = 0;
        int avgW = 0;

//        avgH = sumH / heights.size();
//        avgW = sumW / wights.size();
        avgH = sumH / girllist.size();
        avgW = sumW / girllist.size();

        System.out.println("平均身高:" + avgH);
        System.out.println("平均体重:" + avgW);

        /*如果平均身高>160  体重<50 就是美女 否则不是*/
        if (avgH > 160 && avgW < 50) {
            System.out.println("是美女");
        } else {
            System.out.println("不是美女");
        }

    }
}

Girl类:

package test;

public class Girl {
    private int height;
    private int wight;

    public int getHeight() {
        return height;
    }

    public void setHeight(int height) {
        this.height = height;
    }

    public int getWight() {
        return wight;
    }

    public void setWight(int wight) {
        this.wight = wight;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

从零到1%

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值