java学习第三天

java学习第三天

美女选妃代码(改进版)

今天主要是对昨天的美女选妃代码进行改善,优化。

 package diertian;

import java.util.*;

public class meinvxuanfei {
    public void getladies(){

        List<BeautifulLady> ladies=new ArrayList<>();
        Scanner input=new Scanner(System.in);
        for (int a=1;a<4;a++){
            BeautifulLady beautifulLady=new BeautifulLady();
            System.out.println("请输入第"+a+"美女的身高");
            int h=input.nextInt();
            beautifulLady.hight=h;
            System.out.println("请输入第"+a+"美女的体重");
            int w=input.nextInt();
            beautifulLady.wight=w;
            ladies.add(beautifulLady);
        }
        System.out.println(ladies);
        Map<String,Integer> map=getHightWightAvg(ladies);
        System.out.println("平均身高为:"+map.get("AvgH"));
        System.out.println("平均体重为:"+map.get("AvgW"));
        System.out.println("若平均身高在150cm-180cm之间,平均体重在50kg-70kg之间,则是美女");
        boolean result=getResult(map);
        if (result)
            System.out.println("是美女");
        else
            System.out.println("不是美女");
    }
    //计算身高和体重平均值
        public Map<String,Integer> getHightWightAvg(List<BeautifulLady> ladies ){
        int sumH=0;
        int sumW=0;
        for (int i=0;i<ladies.size();i++){
            sumH=sumH+ladies.get(i).hight;
            sumW=sumW+ladies.get(i).wight;
        }
        int AvgH;
        int AvgW;
        AvgH=sumH/3;
        AvgW=sumW/3;
        Map<String,Integer> map=new HashMap<>();
        map.put("AvgH",AvgH);
        map.put("AvgW",AvgW);
        return map;
    }
    public boolean getResult(Map<String,Integer> map){
        int aH=map.get("AvgH");
        int aW=map.get("AvgW");
        if (aH>149&&aH<181&&aW<71&&aW>49)
            return true;
        else
            return false;
    }
    public static void main(String[] args)
    {
        meinvxuanfei meinvxuanfei=new meinvxuanfei();
        meinvxuanfei.getladies();
    }
}

BeautifulLady的代码

package diertian;
public class BeautifulLady {
    int hight;
    int wight;

    @Override
    public String toString() {
        return "BeautifulLady{" +
                "hight=" + hight +
                ", wight=" + wight +
                '}';
    }
}

运行结果

接口与抽象类

接口只有抽象方法。
抽象类里既包含抽象方法,又包含普通方法。

1.抽象类

包含抽象方法的类就是抽象类。通过abstract方法定义规范,然后要求子类必须定义具体实现。通过抽象类,我们就可以做到严格限制子类的设计,使子类之间更加通用。

public abstract class people {
public abstract void language();
}

2.子类使用抽象类的方法

抽象类只能用来被继承
public class chinese extends people{
@Override
public void language() {
System.out.println(“你好”);
}
}

3.接口

接口就是比“抽象类”还“抽象”的“抽象类”,可以更加规范的对子类进行约束。全面地专业地实现了:规范和具体实现的分离。
接口就是规范,定义的是一组规则,体现了现实世界中“如果你是…则必须能…”的思想。如果你是天使,则必须能飞。如果你是汽车,则必须能跑。如果你是好人,则必须能干掉坏人;如果你是坏人,则必须欺负好人。
public interface Com {
void ahaha();
}

4.接口的使用

public class usb implements Com{
@Override
public void ahaha() {
System.out.println(“今晚去吃烤肉吧!”);
}
public static void main(String[] args){
usb us=new usb();
us.ahaha();
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值