Java小练习

本文介绍了使用Java定义抽象类Shape及其子类Circle和Rectangle,实现了图形面积的计算。同时,探讨了Java中的继承和接口实现,提供了阶乘求和及字符串中特定字符计数的代码示例。

1、定义一个图形类,包含函数area,由长方形类和圆形类分别继承

abstract class shape
{
    abstract public void area();
}
class Circle extends shape
{
    private double radius;
    final double PI=3.14d;
    Circle(double radius)
    {
        this.radius=radius;
    }
    public void init()
    {
        Scanner a=new Scanner(System.in);
        System.out.println("please input radiu");
        double r=a.nextDouble();
        this.radius=r;
    }
    public void area()
    {
        System.out.println("面积为"+radius*radius*PI);
    }
}
class Recangele extends shape
{
    private double width,length;
    Recangele(double length,double width)
    {
        this.length=length;
        this.width=width;
    }
    public void area()
    {
        System.out.println("面积为"+width*length);
    }
}

关于implements和extends
extends 继承类;implements 实现接口。Java只支持单继承,不支持多继承,但是Java保留了这种机制,多继承可以用接口来实现。网上看到很多博文说abstract无法被继承···还不太能理解。

3、计算1!+2!+3!+…+n!

public static void lianxi3()
    {
        Scanner input=new Scanner(System.in);
        System.out.println("please input n");
        int n=input.nextInt();
        int sum1=1,sum=0;
        for (int i = 1; i <=n; i++)
        {
            for (int j = 1; j <=i; j++)
            {
                sum1*=j;
            }
            sum+=sum1;
            sum1=1;
        }
        System.out.println("阶乘和为"+sum);
    }

4、输入一个字符串,输出其中字符‘a’和空格的个数

public void lianxi4()
    {
        Scanner a=new Scanner(System.in);
        System.out.println("please input string");
        String str=a.next();
        int numa=0,numblank=0;
        for (int i = 0; i < str.length(); i++)
        {
            if ( str.charAt(i)=='a')
            {
                numa++;
            }
            if (str.charAt(i)==' ')
            {
                numblank++;
            }
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值