当前位置:   article > 正文

Java 实验2_wumingfen f1 = new wumingfen(thema,quantity,likeso

wumingfen f1 = new wumingfen(thema,quantity,likesoup); ^ bad source file: sr

2-1汽车类

编写汽车类,其功能有启动(start),停止(stop),加速(speedup)和减速(slowDown),启动和停止可以改变汽车的状态(on/off),初始时状态为off,速度为0,speedUp和slowDown可以调整汽车的速度,每调用一次汽车速度改变10(加速增10,减速减10),汽车启动后才能加减速,加速上限为160,减速下限为0,汽车速度减为0后才能停止,给出汽车类的定义。
Main函数中构造一个汽车对象,并对该对象进行操作,各个操作的编号为:

  1. start
  2. stop
  3. speedup
  4. slowdown
    操作完成后打印出汽车的状态和速度。

输入描述:

操作

输出描述:

汽车的状态和速度

裁判测试程序样例:

  1. import java.util.Scanner;
  2. public class Main{
  3. public static void main(String[] args) {
  4. Scanner s = new Scanner(System.in);
  5. int n = s.nextInt();
  6. Car c = new Car();
  7. for (int i=0;i<n;i++) {
  8. int a = s.nextInt();
  9. switch (a) {
  10. case 1: c.start(); break;
  11. case 2: c.stop(); break;
  12. case 3: c.speedUp(); break;
  13. case 4: c.slowDown(); break;
  14. }
  15. }
  16. System.out.print(c.status + " ");
  17. System.out.println(c.speed);
  18. }
  19. }
  20. /* 你的代码被嵌在这里 */

输入样例:

在这里给出一组输入。例如:

  1. 8
  2. 1 3 3 4 3 4 4 2

输出样例:

在这里给出相应的输出。例如:

off 0

答案:

  1. class Car {
  2. int speed = 0;
  3. String status = "off";
  4. public void start() {
  5. speed=0;
  6. status="on";
  7. }
  8. public void stop() {
  9. if(speed==0) {
  10. status = "off";
  11. }
  12. }
  13. public void speedUp() {
  14. if(status=="on"&&speed<=150) {
  15. speed+=10;
  16. }
  17. }
  18. public void slowDown() {
  19. if(status=="on"&&speed>=10) {
  20. speed-=10;
  21. }
  22. }
  23. }

2-2设计直线类

两点可以确定一条直线,请设计一个直线类Line,需要通过两个点Point对象来确定。

设计类Point,包含两个坐标值,提供必要的构造函数和其他辅助函数

设计类Line,包含两个点,提供必要的构造函数和其他辅助函数

为Line提供一个getLength方法返回直线的长度

在Main类的main方法中,读入2对Point的坐标,输出2对Point所表示的直线的长度,保留两位小数(可用System.out.printf)

裁判测试程序样例:

 
  1. import java.util.Scanner;
  2. public class Main{
  3. public static void main(String[] args) {
  4. Scanner sc = new Scanner(System.in);
  5. Point p1 = new Point(sc.nextDouble(),sc.nextDouble());
  6. Point p2 = new Point(sc.nextDouble(),sc.nextDouble());
  7. Line l = new Line(p1,p2);
  8. System.out.printf("%.2f",l.getLength());
  9. }
  10. }
  11. /* 请在这里填写答案 */

输入样例:

23.2 22.1 12.2 3.2

输出样例:

21.87
  1. class Point {
  2. double x;
  3. double y;
  4. public Point (double a,double b) {
  5. this.x =a;
  6. this.y=b;
  7. }
  8. }
  9. class Line {
  10. Point p1,p2;
  11. public Line(Point p1,Point p2) {
  12. this.p1=p1;
  13. this.p2 =p2;
  14. }
  15. public double getLength()
  16. {
  17. return Math.sqrt(Math.pow((p1.x-p2.x), 2)+Math.pow((p1.y-p2.y), 2));
  18. }
  19. }

2-3 学生数统计

构造类Student,包含姓名,性别,年龄。提供必要的构造函数和其他成员函数。

提供静态函数getMaleCount,getFemaleCount,能够获得所有在main函数中构造的Student对象中男生和女生的数量。

main函数中先读取学生个数n,而后构造n个学生对象,最后分别打印其中男生和女生的人数。(输入的三个字段用空格分开,名字内部没有空格,性别用数字表示,1为男生,0为女生)

裁判测试程序样例:

 

在这里给出函数被调用进行测试的例子。例如:

  1. 在这里给出函数被调用进行测试的例子。例如:
  2. import java.util.Scanner;
  3. public class Main{
  4. public static void main(String[] args){
  5. Scanner sc = new Scanner(System.in);
  6. int n = sc.nextInt();
  7. for(int i=0;i<n;i++){
  8. Student s = new Student(sc.next(),sc.nextInt(), sc.nextInt());
  9. }
  10. System.out.println("number of male students:" + Student.getMaleCount() );
  11. System.out.println("number of female students:" + Student.getFemaleCount() );
  12. }
  13. }
  14. /* 请在这里填写答案 */

输入样例:

  1. 5
  2. LiuMing 0 20
  3. FangDa 1 19
  4. DaShan 0 20
  5. ChenHuang 0 21
  6. DeLi 0 20

输出样例:

  1. number of male students:1
  2. number of female students:4

答案:

  1. class Student
  2. {
  3. public String name;
  4. public int sex;
  5. public int age;
  6. static int m=0;
  7. static int f=0;
  8. public Student(String _name,int _sex,int _age)
  9. {
  10. this.name=_name;
  11. this.sex=_sex;
  12. this.age=_age;
  13. if(_sex==1)
  14. m++;
  15. if(_sex==0)
  16. f++;
  17. }
  18. public static int getMaleCount()
  19. {
  20. return m;
  21. }
  22. public static int getFemaleCount()
  23. {
  24. return f;
  25. }
  26. }

2-4设计BankAccount类

设计一个BankAccount类,这个类包括:

(1)一个int型的balance表时账户余额。

(2)一个无参构造方法,将账户余额初始化为0。

(3)一个带一个参数的构造方法,将账户余额初始化为该输入的参数。

(4)一个getBlance()方法,返回账户余额。

(5)一个withdraw()方法:带一个amount参数,并从账户余额中提取amount指定的款额。

(6)一个deposit()方法:带一个amount参数,并将amount指定的款额存储到该银行账户上。

提供main函数,构造一个账户对象,并对其进行存取款操作。

其中操作类型类型为1表示存款,2表示取款,每次操作后都打印余额

输入格式:

账户余额
操作个数
操作类型 操作金额

输出格式:

每次操作后的余额

输入样例:

在这里给出一组输入。例如:

  1. 0
  2. 4
  3. 1 100
  4. 1 200
  5. 2 100
  6. 2 100

输出样例:

在这里给出相应的输出。例如:

  1. 100
  2. 300
  3. 200
  4. 100

答案:

  1. import java.util.Scanner;
  2. class BankAccount{
  3. int blance;
  4. public BankAccount(){
  5. blance=0;
  6. }
  7. public BankAccount(int l){
  8. blance=l;
  9. }
  10. public int getBlance(){
  11. return blance;
  12. }
  13. public void withDraw(int account){
  14. if(blance>=account)
  15. blance-=account;
  16. }
  17. public void deposit(int account){
  18. blance+=account;
  19. }
  20. }
  21. public class Main{
  22. public static void main(String[] args){
  23. int blance;
  24. int n;
  25. int oppo;
  26. int account;
  27. Scanner sc=new Scanner(System.in);
  28. blance=sc.nextInt();
  29. BankAccount b=new BankAccount(blance);
  30. n=sc.nextInt();
  31. for(int i=0;i<n;i++){
  32. oppo=sc.nextInt();
  33. if(oppo==1){
  34. b.deposit(sc.nextInt());
  35. }
  36. else if(oppo==2)
  37. b.withDraw(sc.nextInt());
  38. System.out.println(b.getBlance());
  39. }
  40. }
  41. }

2-5设计一个”无名的粉“类

为“无名的粉”写一个类:class WuMingFen 要求:

  1. 有三个属性:面码:String theMa 粉的分量(两):int quantity 是否带汤:boolean likeSoup;
  2. 写一个构造方法,以便于简化初始化过程,如:
  3. WuMingFen f1 = new WuMingFen("牛肉",3,true);;
  4. 重载构造方法,使得初始化过程可以多样化:
  5. WuMingFen f2 = new WuMingFen("牛肉",2);;
  6. 如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的?
  7. WuMingFen f3 = new WuMingFen();;
  8. 写一个普通方法:check(),用于查看粉是否符合要求。即:将对象的三个属性打印在控制台上。

系统参考程序代码如下:

 
  1. import java.util.Scanner;
  2. public class Main {
  3. public static void main(String[] args) {
  4. Scanner sc = new Scanner(System.in);
  5. String theMa = sc.next();
  6. int quantity = sc.nextInt();
  7. boolean likeSoup = sc.nextBoolean();
  8. c
  9. //使用三个参数的构造方法创建WuMingFen对象 取名 f1
  10. //使用两个参数的构造方法创建WuMingFen对象 取名 f2
  11. //使用无参构造方法创建WuMingFen对象 取名 f3
  12. //分别调用三个类的 check方法
  13. /********** End **********/
  14. }
  15. }
  16. /********** Begin **********/
  17. //WuMingFen 类实现部分
  18. /********** End **********/

输入格式:

输入面码、粉的份量、是否带汤。

输出格式:

面码:xxxx,粉的份量:xx两,是否带汤:xxxx
面码:xxxx,粉的份量:xx两,是否带汤:false
面码:酸辣,粉的份量:2两,是否带汤:true

输入样例:

牛肉 3 true

输出样例:

  1. 面码:牛肉,粉的份量:3两,是否带汤:true
  2. 面码:牛肉,粉的份量:3两,是否带汤:false
  3. 面码:酸辣,粉的份量:2两,是否带汤:true

答案:

  1. import java.util.Scanner;
  2. class WuMingFen{
  3. String theMa;
  4. int quantity;
  5. boolean likeSoup;
  6. public WuMingFen(String n,int q,boolean l){
  7. theMa=n;
  8. quantity=q;
  9. likeSoup=l;
  10. }
  11. public WuMingFen(String n,int q){
  12. theMa=n;
  13. quantity=q;
  14. }
  15. public WuMingFen(){
  16. theMa="酸辣";
  17. quantity=2;
  18. likeSoup=true;
  19. }
  20. public void check(){
  21. System.out.println("面码:"+theMa+",粉的份量:"+quantity+"两,是否带汤:"+likeSoup);
  22. }
  23. }
  24. public class Main {
  25. public static void main(String[] args) {
  26. Scanner sc = new Scanner(System.in);
  27. String theMa = sc.next();
  28. int quantity = sc.nextInt();
  29. boolean likeSoup = sc.nextBoolean();
  30. WuMingFen f1 = new WuMingFen(theMa,quantity,likeSoup);
  31. WuMingFen f2 = new WuMingFen(theMa,quantity);
  32. WuMingFen f3 = new WuMingFen();
  33. //分别调用三个类的 check方法
  34. f1.check();
  35. f2.check();
  36. f3.check();
  37. }
  38. }

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号