根据以下要求编写一个Java程序,并给出运行结果。 (25分) (1)类名:Book (2)成员变量(访问权限均为private) b_no(int) //编号 b_name(String) //书名 b_price(float) //价格 (3)成员方法 ➢ 构造方法1(无参:初始化Book对象的书名为“Java程序设计教程”,编号为1,价格为 50.9) ➢ 构造方法2(有参:3个参数,初始化3个成员变量) ➢ setName(有参,修改成员变量b_name的值) ➢ getName(无参,返回图书名) ➢ setNo(有参,设置成员变量b_no的值) ➢ getNo(无参,返回图书编号) ➢ setPrice(有参,设置成员变量b_price的值) ➢ getPrice(无参,返回图书价格) (4)编写一个主类,类名为test2,创建两个Book对象实例(由无参构造函数与有参构造函数各创建一个实例),各实例输出其图书编号、图书名、图书价格。
时间: 2024-01-11 09:02:36 浏览: 29
好的,根据要求编写的Java程序如下:
```java
public class Book {
private int b_no;
private String b_name;
private float b_price;
public Book() {
this.b_no = 1;
this.b_name = "Java程序设计教程";
this.b_price = 50.9f;
}
public Book(int no, String name, float price) {
this.b_no = no;
this.b_name = name;
this.b_price = price;
}
public void setName(String name) {
this.b_name = name;
}
public String getName() {
return this.b_name;
}
public void setNo(int no) {
this.b_no = no;
}
public int getNo() {
return this.b_no;
}
public void setPrice(float price) {
this.b_price = price;
}
public float getPrice() {
return this.b_price;
}
}
```
主类test2的代码如下:
```java
public class test2 {
public static void main(String[] args) {
Book book1 = new Book(); // 使用无参构造函数创建实例
Book book2 = new Book(2, "数据结构", 38.5f); // 使用有参构造函数创建实例
System.out.println("图书编号:" + book1.getNo() + ",图书名:" + book1.getName() + ",图书价格:" + book1.getPrice());
System.out.println("图书编号:" + book2.getNo() + ",图书名:" + book2.getName() + ",图书价格:" + book2.getPrice());
}
}
```
运行结果如下:
```
图书编号:1,图书名:Java程序设计教程,图书价格:50.9
图书编号:2,图书名:数据结构,图书价格:38.5
```
注意:在Book类中使用了this关键字来引用对象的成员变量,以避免与方法参数重名。同时使用了构造函数来初始化成员变量的值,实现了对对象的初始化。在主类test2中,创建了两个Book对象实例,并对它们的成员变量进行了输出。