从零开始的java生活(刷题篇2)

选择题

1.

有一个类A,以下为其构造方法的声明,其中正确的是()。

A void A(int x){...}

B A(int x){...}

C a(int x){...}

D void a(int x){...}

答案:B

2.

定义类头时,不可能用到的关键字是()

A. class
B. private
C. extends
D. public 

答案:B

3.

设i,j为 类X中定义的int型成员变量名,下列X的构造方法中不正确的是()。

A)void X(int k){

         i = k;

   }                  

B)X(int k){

         i = k;

   }

C)X(int m, int n){

         i =m;

         j=n;

    }          

D)X(){

         i=0;

         j=0;

   }

答案:A

4.

设i、j为类X中定义的double型成员变量,下列类X的构造方法中不正确的是()。

 A) double  X(double  k){

           int k;

           return i;

     }         

 B) X(double m,double n){

          i = m;

          j = n;

     } 

 C) X(){

          i=6;

          j=8;

     }                

 D) X(double k) {

         i=k;

    }

答案:A

5.

设A为已定义的类名,下列声明A类的对象a的语句中正确的是()

 A) A a = new A();            B) public A a = A();

 C) A a = new class();       D) a A;

答案:A

编程题

        1.Student类设计

【问题描述】请按照以下要求设计一个学生类Student,并进行测试,要求如下:

(1)Student类包含姓名、成绩两个属性。

(2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值。(Getters and Setters)

(3)Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为姓名和成绩属性赋值。

(4)在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给姓名和成绩复制。另一个使用有参的构造方法,在构造方法中给姓名和成绩赋值。

(5)输出两个Student对象的姓名和成绩,一行一个Student,如:zhangsan 35
【输入形式】无
【输出形式】

zhangsan 35

lisi 38

【样例说明】两个Student对象,第一个名字zhangsan 成绩35,第二个名字lisi 成绩38

【评分标准】 正确得满分

代码如下:

public class Homework_1 {
    public static void main(String[] args){
        Student stu1 = new Student();
        stu1.setName("zhangsan"+" ");
        stu1.setGrade(35);
        System.out.print(stu1.getName());
        System.out.println(stu1.getGrade());

        Student stu2 = new Student("lisi", 38);
        System.out.print(stu2.getName()+" ");
        System.out.println(stu2.getGrade());




    }
}
 class Student{
        private String name;
        private int grade;
        public Student(){
        }
        public String getName(){

            return  name;

        }
        public void setName(String name){
         this.name = name;

     }
        public int getGrade(){

         return  grade;

     }
        public void setGrade(int grade){
            this.grade = grade;

        }
        public Student(String name,int grade){
            this.name = name;
            this.grade = grade;
        }


}

        2.计算日期差

【问题描述】
结构

class Date {
   int year;
   int month;
   int day;
};

利用该类编写一个程序用来计算两个日期之间相差的天数。 
【输入形式】

输入两个日期,每个日期分占一行,在一行中日期的年、月、日是三个整数,以空格分隔。并假设第二个日期大于或等于第一个日期。

【输出形式】

第二个日期与第一个日期间相差的天数。

【输入样例】

2003 3 25 
2003 3 29

【输出样例】

4

【评分标准】
完全正确

代码如下:

import java.util.Scanner;

public class Homework_2 {
    public static void main(String[] args){
        int year,month,day;
        Date date1 = new Date();
        Date date2 = new Date();
        Scanner sc = new Scanner(System.in);
        year = sc.nextInt();
        month = sc.nextInt();
        day = sc.nextInt();
        date1.getDate(year,month,day);
        year = sc.nextInt();
        month = sc.nextInt();
        day = sc.nextInt();
        date2.getDate(year,month,day);

        System.out.print(date2.dateSum()-date1.dateSum());
    }


}
class Date {
    private int year;
    private int month;
    private int day;
    public void getDate(int year,int month,int day){
        this.year=year;
        this.month=month;
        this.day=day;
    }
    int dateSum(){

        int[] arr={0,31,28,31,30,31,30,31,31,30,31,30,31} ;
        int sum = day-1;
        while (month != 0) {
            --month;
            sum += arr[month];
            if (month == 2 && ((year % 400 == 0) || (year % 100 != 0 && year % 4 == 0)))
                sum += 1;
        }
        sum += 365 * year ;
        sum += (year - 1) / 4 ;
        sum -= (year - 1) / 100 ;
        sum += (year - 1) / 400 ;

        return sum;
}

}

        3. 第四章课后编程题6Rectangle类

【问题描述】

1)创建一个Rectangle类;

2)属性:两个double成员变量,width和height;

3)不带参数的构造方法:width和height的初始值分别为6和8;

4)方法:计算矩形的周长,方法名为findPremeter();

5)编写测试类,创建一个Rectangle的对象,对象名为r,调用计算周长的方法,并输出计算结果。
【输入形式】
【输出形式】r的周长:(width+height)*2.
【样例输入】
【样例输出】28
【样例说明】
【评分标准】输出正确满分

代码如下:

public class Homework_3 {
    public static void main(String[] args){
    Rectangle r = new Rectangle();
    r.setWidth(6);
    r.setHeight(8);
    System.out.printf("%.0f",r.findPremeter());

    }
}

class Rectangle{
    private double width;
    private double height;

    public void setWidth(double width){
        this.width = width;
    }
    public void setHeight(double height){
        this.height = height;
    }

    public double findPremeter(){
        return (width+height)*2;

    }
}

        4. 第四章课后编程题4book类

【问题描述】

定义一个表示图书的类,名字为Book,属性包含:书名、价格、出版社、作者等信息,编写构造方法实现对属性的赋值,编写一个方法,实现输出一本书的基本信息的功能。编写测试类使用Book类创建对象,使用构造方法给属性赋值,并调用对象的方法,输出对应的信息。

【输入形式】
【输出形式】输出书名, 价格, 出版社, 作者
【样例输入】
【样例输出】Java, 57.0, Neusoft, Zhou
【样例说明】
【评分标准】 输出正确满分

代码如下:

public class Homework_4 {
    public static void main(String[] args) {
    Book book = new Book();
    book.setTitle("java");
    book.setPrice(57.0);
    book.setPress("Neusoft");
    book.setAuthor("Zhou");

    book.print();
    }

}

class Book{
    private String title;
    private double price;
    private String press;
    private String author;

    public void setTitle(String title) {
        this.title = title;
    }

    public void setPrice(double price){
        this.price = price;
    }



    public void setPress(String press) {
        this.press = press;
    }



    public void setAuthor(String author) {
        this.author = author;
    }

    public void print(){
        System.out.print(title+","+price+","+press+","+author);
    }
}

        5. 账簿类

【问题描述】

编写帐簿类AccountBook类。类中有三个属性:accountName(String类型)、income(double类型)和outcome(double类型)。定义通过收入和支出自动计算余额的方法compute。再编写测试类,在测试类中用AccoutnBook类创建一个帐簿对象,设置名称是“Zhangsan”,收入30,支出10,并将帐户名称“Zhangsan”,该帐户收入额和支出额及该账户的余额输出到控制台。

【样例输出】

Zhangsan, income: 30*, outcome: 10*, balance: 20*.

【评分标准】

输出正确

代码如下:

public class Homework_5 {
    public static void main(String[] args){
    AccountBook accountBook = new AccountBook();
    accountBook.setAccountName("Zhangsan");
    accountBook.setIncome(30);
    accountBook.setOutcome(10);
    accountBook.print();
    }
}

class AccountBook{
    String accountName;
    double income;
    double outcome;

    public void setAccountName(String accountName) {
        this.accountName = accountName;
    }

    public void setIncome(double income) {
        this.income = income;
    }

    public void setOutcome(double outcome) {
        this.outcome = outcome;
    }

    public double compute() {
        double balance = income-outcome;
        return balance;
    }

    public void print(){
        System.out.print(accountName+", income: "+(int)income+"*, outcome: "+(int)outcome+"*, balance: "+(int)compute()+"*.");
    //Zhangsan, income: 30*, outcome: 10*, balance: 20*.
    }
}

​​​​​​​​​​​​​​        6. 内切圆

【问题描述】创建圆类,有一个属性半径,创建长方形类,有两个属性长和宽,分别设计合适的构造方法用于生成对象,在长方形类中创建方法,判断一个圆是否能放在这个长方形内(提示,该方法的参数类型为圆类),创建测试类,输入3个float类型的数,第一个为圆对象的半径,第二个和第三个为长方形对象的长和宽,调用长方形对象方法,判断圆是否能放在长方形内,如果是输出true,否则输出false。要按照题目要求设计三个类,生成两个对象,并调用相应方法,未生成对象不得分。
【输入形式】圆的半径,长方形长和宽
【输出形式】判断结果
【样例输入】5.0 12.0 14.0
【样例输出】true
【样例说明】
【评分标准】结果正确满分

代码如下:

import java.util.Scanner;

public class Homework_6 {
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        Round round = new Round();
        Rectangle rectangle = new Rectangle();

        round.setRadius(sc.nextFloat());
        rectangle.setLength(sc.nextFloat());
        rectangle.setWidth(sc.nextFloat());

        System.out.print(rectangle.isInscribe(round));
    }
}
class Round{
    private float radius;

    public void setRadius(float radius) {
        this.radius = radius;
    }

    public float getRadius() {
        return radius;
    }
}

class Rectangle{
    private float length;
    private float width;

    public void setLength(float length) {
        this.length = length;
    }

    public void setWidth(float width) {
        this.width = width;
    }

    public Boolean isInscribe(Round round){
        return round.getRadius()*2 <= length && round.getRadius()*2 <= width;

    }
}

程序片段编程题

​​​​​​​​​​​​​​        1. 补全计算体积的重构方法

【问题描述】请根据已知的程序代码,补全类BodyVolume的重构方法getVolume(),显示球体和圆柱体的体积。

【输入形式】无

【输出形式】

Ball Volume=3140.0

Cylinder Volume=6280.0

【样例输入】

【样例输出】

【样例说明】

【评分标准】输出正确,满分

 

答案如下:

​​​​​​​​​​​​​​        2. 显示工人信息

【问题描述】请根据已知的程序代码,补全类Worker,增加显示语句显示工人信息。

【输入形式】无

【输出形式】

name=wang

age=40

salary=3800.0

level=1

【样例输入】

【样例输出】

【样例说明】

【评分标准】输出正确,满分

答案如下:

博主java萌新,有问题可评论区共同交流学习,欢迎大家交流awa

  • 11
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值