赞
踩
2-1汽车类
编写汽车类,其功能有启动(start),停止(stop),加速(speedup)和减速(slowDown),启动和停止可以改变汽车的状态(on/off),初始时状态为off,速度为0,speedUp和slowDown可以调整汽车的速度,每调用一次汽车速度改变10(加速增10,减速减10),汽车启动后才能加减速,加速上限为160,减速下限为0,汽车速度减为0后才能停止,给出汽车类的定义。
Main函数中构造一个汽车对象,并对该对象进行操作,各个操作的编号为:
操作
汽车的状态和速度
- import java.util.Scanner;
- public class Main{
-
- public static void main(String[] args) {
- Scanner s = new Scanner(System.in);
- int n = s.nextInt();
- Car c = new Car();
- for (int i=0;i<n;i++) {
- int a = s.nextInt();
- switch (a) {
- case 1: c.start(); break;
- case 2: c.stop(); break;
- case 3: c.speedUp(); break;
- case 4: c.slowDown(); break;
- }
- }
- System.out.print(c.status + " ");
- System.out.println(c.speed);
- }
-
- }
-
- /* 你的代码被嵌在这里 */
在这里给出一组输入。例如:
- 8
- 1 3 3 4 3 4 4 2
在这里给出相应的输出。例如:
off 0
答案:
-
- class Car {
- int speed = 0;
- String status = "off";
- public void start() {
- speed=0;
- status="on";
-
- }
- public void stop() {
- if(speed==0) {
- status = "off";
- }
- }
- public void speedUp() {
- if(status=="on"&&speed<=150) {
- speed+=10;
- }
- }
- public void slowDown() {
- if(status=="on"&&speed>=10) {
- speed-=10;
- }
- }
-
- }
-
2-2设计直线类
两点可以确定一条直线,请设计一个直线类Line,需要通过两个点Point对象来确定。
设计类Point,包含两个坐标值,提供必要的构造函数和其他辅助函数
设计类Line,包含两个点,提供必要的构造函数和其他辅助函数
为Line提供一个getLength方法返回直线的长度
在Main类的main方法中,读入2对Point的坐标,输出2对Point所表示的直线的长度,保留两位小数(可用System.out.printf)
- import java.util.Scanner;
- public class Main{
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- Point p1 = new Point(sc.nextDouble(),sc.nextDouble());
- Point p2 = new Point(sc.nextDouble(),sc.nextDouble());
- Line l = new Line(p1,p2);
- System.out.printf("%.2f",l.getLength());
- }
- }
-
- /* 请在这里填写答案 */
23.2 22.1 12.2 3.2
21.87
- class Point {
- double x;
- double y;
- public Point (double a,double b) {
- this.x =a;
- this.y=b;
- }
- }
- class Line {
- Point p1,p2;
- public Line(Point p1,Point p2) {
- this.p1=p1;
- this.p2 =p2;
- }
- public double getLength()
- {
- return Math.sqrt(Math.pow((p1.x-p2.x), 2)+Math.pow((p1.y-p2.y), 2));
- }
- }
2-3 学生数统计
构造类Student,包含姓名,性别,年龄。提供必要的构造函数和其他成员函数。
提供静态函数getMaleCount,getFemaleCount,能够获得所有在main函数中构造的Student对象中男生和女生的数量。
main函数中先读取学生个数n,而后构造n个学生对象,最后分别打印其中男生和女生的人数。(输入的三个字段用空格分开,名字内部没有空格,性别用数字表示,1为男生,0为女生)
在这里给出函数被调用进行测试的例子。例如:
- 在这里给出函数被调用进行测试的例子。例如:
- import java.util.Scanner;
- public class Main{
- public static void main(String[] args){
- Scanner sc = new Scanner(System.in);
- int n = sc.nextInt();
- for(int i=0;i<n;i++){
- Student s = new Student(sc.next(),sc.nextInt(), sc.nextInt());
- }
- System.out.println("number of male students:" + Student.getMaleCount() );
- System.out.println("number of female students:" + Student.getFemaleCount() );
- }
- }
-
- /* 请在这里填写答案 */
- 5
- LiuMing 0 20
- FangDa 1 19
- DaShan 0 20
- ChenHuang 0 21
- DeLi 0 20
- number of male students:1
- number of female students:4
答案:
- class Student
- {
- public String name;
- public int sex;
- public int age;
- static int m=0;
- static int f=0;
- public Student(String _name,int _sex,int _age)
- {
- this.name=_name;
- this.sex=_sex;
- this.age=_age;
- if(_sex==1)
- m++;
- if(_sex==0)
- f++;
- }
- public static int getMaleCount()
- {
- return m;
- }
- public static int getFemaleCount()
- {
- return f;
- }
- }
2-4设计BankAccount类
设计一个BankAccount类,这个类包括:
(1)一个int型的balance表时账户余额。
(2)一个无参构造方法,将账户余额初始化为0。
(3)一个带一个参数的构造方法,将账户余额初始化为该输入的参数。
(4)一个getBlance()方法,返回账户余额。
(5)一个withdraw()方法:带一个amount参数,并从账户余额中提取amount指定的款额。
(6)一个deposit()方法:带一个amount参数,并将amount指定的款额存储到该银行账户上。
提供main函数,构造一个账户对象,并对其进行存取款操作。
其中操作类型类型为1表示存款,2表示取款,每次操作后都打印余额
账户余额
操作个数
操作类型 操作金额
每次操作后的余额
在这里给出一组输入。例如:
- 0
- 4
- 1 100
- 1 200
- 2 100
- 2 100
在这里给出相应的输出。例如:
- 100
- 300
- 200
- 100
答案:
- import java.util.Scanner;
- class BankAccount{
- int blance;
-
- public BankAccount(){
- blance=0;
- }
- public BankAccount(int l){
- blance=l;
- }
-
- public int getBlance(){
- return blance;
- }
- public void withDraw(int account){
- if(blance>=account)
- blance-=account;
- }
- public void deposit(int account){
- blance+=account;
- }
- }
- public class Main{
- public static void main(String[] args){
- int blance;
- int n;
- int oppo;
- int account;
-
- Scanner sc=new Scanner(System.in);
- blance=sc.nextInt();
- BankAccount b=new BankAccount(blance);
- n=sc.nextInt();
- for(int i=0;i<n;i++){
- oppo=sc.nextInt();
- if(oppo==1){
- b.deposit(sc.nextInt());
- }
- else if(oppo==2)
- b.withDraw(sc.nextInt());
- System.out.println(b.getBlance());
- }
-
- }
- }
2-5设计一个”无名的粉“类
为“无名的粉”写一个类:class WuMingFen 要求:
- 有三个属性:面码:String theMa 粉的分量(两):int quantity 是否带汤:boolean likeSoup;
-
- 写一个构造方法,以便于简化初始化过程,如:
- WuMingFen f1 = new WuMingFen("牛肉",3,true);;
-
- 重载构造方法,使得初始化过程可以多样化:
- WuMingFen f2 = new WuMingFen("牛肉",2);;
-
- 如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的?
- WuMingFen f3 = new WuMingFen();;
-
- 写一个普通方法:check(),用于查看粉是否符合要求。即:将对象的三个属性打印在控制台上。
系统参考程序代码如下:
- import java.util.Scanner;
-
- public class Main {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- String theMa = sc.next();
- int quantity = sc.nextInt();
- boolean likeSoup = sc.nextBoolean();
- c
- //使用三个参数的构造方法创建WuMingFen对象 取名 f1
-
- //使用两个参数的构造方法创建WuMingFen对象 取名 f2
-
- //使用无参构造方法创建WuMingFen对象 取名 f3
-
- //分别调用三个类的 check方法
-
-
- /********** End **********/
- }
- }
-
- /********** Begin **********/
- //WuMingFen 类实现部分
-
-
- /********** End **********/
输入面码、粉的份量、是否带汤。
面码:xxxx,粉的份量:xx两,是否带汤:xxxx
面码:xxxx,粉的份量:xx两,是否带汤:false
面码:酸辣,粉的份量:2两,是否带汤:true
牛肉 3 true
- 面码:牛肉,粉的份量:3两,是否带汤:true
- 面码:牛肉,粉的份量:3两,是否带汤:false
- 面码:酸辣,粉的份量:2两,是否带汤:true
答案:
- import java.util.Scanner;
- class WuMingFen{
- String theMa;
- int quantity;
- boolean likeSoup;
-
- public WuMingFen(String n,int q,boolean l){
- theMa=n;
- quantity=q;
- likeSoup=l;
- }
-
- public WuMingFen(String n,int q){
- theMa=n;
- quantity=q;
- }
- public WuMingFen(){
- theMa="酸辣";
- quantity=2;
- likeSoup=true;
- }
-
- public void check(){
- System.out.println("面码:"+theMa+",粉的份量:"+quantity+"两,是否带汤:"+likeSoup);
- }
- }
- public class Main {
- public static void main(String[] args) {
- Scanner sc = new Scanner(System.in);
- String theMa = sc.next();
- int quantity = sc.nextInt();
- boolean likeSoup = sc.nextBoolean();
- WuMingFen f1 = new WuMingFen(theMa,quantity,likeSoup);
- WuMingFen f2 = new WuMingFen(theMa,quantity);
- WuMingFen f3 = new WuMingFen();
- //分别调用三个类的 check方法
- f1.check();
- f2.check();
- f3.check();
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。