Java PTA 期末练习函数题

这篇博客包含了多个Java编程题目,涉及股票类、圆形、直角三角形、矩形、正五边形、正六边形、正n边形的实现,以及学生对象的排序方法。每个题目都需要实现特定的类结构、接口和计算方法,如面积、周长计算和构造函数。同时,还涉及到对学生对象按名字和学号降序排序的问题。
摘要由CSDN通过智能技术生成

1.定义一个股票类Stock (10分)

定义一个名为Stock的股票类,这个类包括:一个名为symbol的字符串数据域表示股票代码。一个名为name的字符串数据域表示股票名称。一个名为previousClosingPrice的double数据域,它存储前一日的股票交易价格。一个名为currentPrice数据域,它存储当前的股票交易价格。创建一个有特定代码和名称的股票的构造方法。一个名为changePercent()方法返previousClosingPrice变化到currentPrice的百分比。

类名为:

stock

裁判测试程序样例:

import java.util.Scanner;
/* 你提交的代码将被嵌入到这里 */

public class Main {
  public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    String symbol1=input.next();
    String name1=input.next();    
    Stock stock = new Stock(symbol1, name1);

    stock.previousClosingPrice = input.nextDouble();

    // Input current price
    stock.currentPrice = input.nextDouble();

    // Display stock info
    System.out.println(stock.name+"price changed: " + stock.changePercent() * 100 + "%");
    input.close();
  }
}

输入样例:

002594
比亚迪
56.98
55.40

输出样例:

比亚迪股价涨跌: -2.77290277290277%

答案:

//定义一个股票类Stock
class Stock
{
    String symbol;
    String name;
    double previousClosingPrice;
    double currentPrice;
    public Stock(String symbol,String name)
    {
        this.symbol=symbol;
        this.name=name;
    }
    public double changePercent()
    {
        return (currentPrice-previousClosingPrice)/previousClosingPrice;
    }
}

2.从抽象类shape类扩展出一个圆形类Circle

请从下列的抽象类shape类扩展出一个圆形类Circle,这个类圆形的半径radius作为私有成员,类中应包含初始化半径的构造方法。
public abstract class shape {// 抽象类

public abstract double getArea();// 求面积

public abstract double getPerimeter(); // 求周长

}
主类从键盘输入圆形的半径值,创建一个圆形对象,然后输出圆形的面积和周长。保留4位小数。

圆形类名Circle

裁判测试程序样例:

import java.util.Scanner;
import java.text.DecimalFormat;

abstract class shape {// 抽象类
     /* 抽象方法 求面积 */
    public abstract double getArea( );

    /* 抽象方法 求周长 */
    public abstract double getPerimeter( );
}

/* 你提交的代码将被嵌入到这里 */

public class Main {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        DecimalFormat d = new DecimalFormat("#.####");// 保留4位小数
         double r = input.nextDouble( ); 
        shape c = new  Circle(r);

        System.out.println(d.format(c.getArea()));
        System.out.println(d.format(c.getPerimeter()));
        input.close();
    } 
}

输入样例:

3.1415926

输出样例:

31.0063
19.7392

答案:

//从抽象类shape类扩展出一个圆形类Circle
class Circle extends shape{
    private double radius;
    pu
  • 3
    点赞
  • 78
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值