Java程序设计 面对对象 编程题

这篇博客探讨了Java编程中面向对象的概念,包括类的定义、对象的使用、图形绘制、图书管理、形状继承和构造函数的应用。通过一系列编程题目,详细解释了如何设计矩形类、学生类、图书类以及实现图形接口。此外,还涉及了静态变量的使用、形状的面积和周长计算、以及年龄计算等实际操作。
摘要由CSDN通过智能技术生成

6-1 设计一个矩形类Rectangle (10分)

设计一个名为Rectangle的类表示矩形。这个类包括: 两个名为width和height的double型数据域,它们分别表示矩形的宽和高。width和height的默认值都为1. 一个无参构造方法。 一个为width和height指定值的矩形构造方法。 一个名为getArea()的方法返回这个矩形的面积。 一个名为getPerimeter()的方法返回这个矩形的周长。

类名为:

Rectangle

裁判测试程序样例:

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

public class Main {
   
  public static void main(String[] args) {
   
    Scanner input = new Scanner(System.in);

    double w = input.nextDouble();
    double h = input.nextDouble();
    Rectangle myRectangle = new Rectangle(w, h);
    System.out.println(myRectangle.getArea());
    System.out.println(myRectangle.getPerimeter());

    input.close();
  }
}

输入样例:

3.14  2.78

输出样例:

8.7292
11.84

程序

class Rectangle
{
   
	private double width;
	private double height;
	public Rectangle(){
   }
	public Rectangle(double w,double h)
	{
   
		width=w;
		height=h;
	 }
	double getArea()
	{
   
		return width*height;
	 }
	double getPerimeter()
	{
   
		return (width+height)*2;
	 }
 }

7-1 类的定义与对象使用 (10分)

请定义一个学生类(Student),包含学号、姓名、年龄(7-60岁)三个私有成员。从键盘输入学生的成员值后生成对象,并按要求输出相应的结果。

输入格式:

第一行一个整数k,代表后面要生成的学生人数。 从第二行开始的连续k行,每行3个数据,分别表示一个学生的学号、姓名和年龄。

输出格式:

输出每个学生的基本情况。如果数据不符合要求则输出"bad"

输入样例:

3
20174042001 zhangsan 20
20174042030 lisi 2
20174042050 wangwu 17

输出样例:

zhangsan 20174042001 20
bad
wangwu 20174042050 17

程序

import java.util.*;
class Student
{
   
	private String sno;
	private String name;
	private int age;
	public Student(String s1,String n,int a)
	{
   
		sno=s1;
		name=n;
		age=a;
	 }
	public String toString()
	{
   
		return name+" "+sno+" "+age;
	 }
	
 }
public class Main
{
   
	public static void main(String[] args)
	{
   
		int k;
		Scanner s=new Scanner(System.in);
		k=s.nextInt();
		Student stu[]=new Student[k];
		for(int i=0;i<k;i++)
		{
   
			String sno1=s.next();
			String name1=s.next();
			int age1=s.nextInt();
			if(age1<7||age1>60) System.out.println("bad");
			else
			{
   
				stu[i]=new Student(sno1,name1,age1);
				System.out.println(stu[i]);
			 }
		 }
 	}
 }

7-2 好玩的图形 (20分)

给定图形接口定义如下:

interface Shape{
   
float getArea
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值