Java-oop2

168 阅读4分钟

Java-oop2

  1. 编写一个Java程序来创建一个名为“Book”的类,其中包含标题、作者和ISBN的属性,以及从集合中添加和删除书籍的方法。

    //Book.java
    import java.util.ArrayList;
    public class Book {
      private String title;
      private String author;
      private String ISBN;
      private static ArrayList < Book > bookCollection = new ArrayList < Book > ();
    
      public Book(String title, String author, String ISBN) {
        this.title = title;
        this.author = author;
        this.ISBN = ISBN;
      }
    
      public String get_Title() {
        return title;
      }
    
      public void set_Title(String title) {
        this.title = title;
      }
    
      public String get_Author() {
        return author;
      }
    
      public void set_Author(String author) {
        this.author = author;
      }
    
      public String get_ISBN() {
        return ISBN;
      }
    
      public void set_ISBN(String ISBN) {
        this.ISBN = ISBN;
      }
    
      public static void add_Book(Book book) {
        bookCollection.add(book);
      }
    
      public static void remove_Book(Book book) {
        bookCollection.remove(book);
      }
    
      public static ArrayList < Book > get_BookCollection() {
        return bookCollection;
      }
    }
    
    

    上面的类有三个私有属性:标题、作者和ISBN。它有一个构造函数,用作为参数传递的值初始化这些属性,以及访问和修改这些属性的getter和setter方法。它还有一个静态方法来从集合中添加和删除书籍,以及一个静态方法来获取书籍集合。

    //Main.java
    import java.util.ArrayList;
    public class Main {
      public static void main(String[] args) {
         Book book1 = new Book("活着", "余华", "123456");
            Book book2 = new Book("第七天", "余华", "6666666");
    
            Book.addBook(book1);
            Book.addBook(book2);
    
            ArrayList<Book> bookCollection = Book.getBookCollection();
            System.out.println("List of books:");
            for (Book book : bookCollection) {
                System.out.println(book.getTitle() + " by " + book.getAuthor() + ", ISBN:" + book.getISBN());
            }
    
            Book.removeBook(book1);
            System.out.println("\nAfter removing " + book1.getTitle() + ":");
            System.out.println("List of books:");
            for (Book book : bookCollection) {
                System.out.println(book.getTitle() + " by " + book.getAuthor() + ", ISBN:" + book.getISBN());
            }
      }
    }
    

    在这个示例代码中,我们创建了“Book”类的两个实例,并使用“addBook”方法将它们添加到集合中。然后,我们使用for循环打印集合中每本书的标题、作者和ISBN。我们还使用“removeBook”方法从集合中删除book1并打印更新的集合。

2.编写一个Java程序来创建一个名为“员工”的类,其中包含姓名、职称和工资属性,以及计算和更新工资的方法。

    private String name;
    private String jobTitle;
    private double salary;

    public Employee(String name, String jobTitle, double salary) {
        this.name = name;
        this.jobTitle = jobTitle;
        this.salary = salary;
    }

    public String getName() {
        return name;
    }

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

    public String getJobTitle() {
        return jobTitle;
    }

    public void setJobTitle(String jobTitle) {
        this.jobTitle = jobTitle;
    }

    public double getSalary() {
        return salary;
    }

    public void setSalary(double salary) {
        this.salary = salary;
    }

    public void raiseSalary(double percentage) {
        salary = salary + salary * percentage / 100;
    }

    public void printEmployeeDetails() {
        System.out.println("Name: " + name);
        System.out.println("Job Title: " + jobTitle);
        System.out.println("Salary: " + salary);
    }
public class Main {
    public static void main(String[] args) {
        Employee employee1 = new Employee("张三", "人力资源经理", 40000);
        Employee employee2 = new Employee("李四", "软件工程师", 60000);

        System.out.println("\nEmployee Details:");
        employee1.printEmployeeDetails();
        employee2.printEmployeeDetails();

        employee1.raiseSalary(8);
        employee2.raiseSalary(12);

        System.out.println("\nAfter raising salary:");
        System.out.println("%8 for 张三:");
        employee1.printEmployeeDetails();
        System.out.println("%12 for 李四");
        employee2.printEmployeeDetails();
    }
}

在上面的示例代码中,我们创建了“员工”类的两个实例,并使用“print漏工细节()”方法打印它们的详细信息。然后,我们使用“raiseSalary()”方法提高他们的工资,并打印员工的更新详细信息。

3.编写一个Java程序来创建一个名为“银行”的类,其中包含一个帐户集合以及添加和删除帐户以及存款和取款的方法。还定义一个名为“帐户”的类来维护特定客户的帐户详细信息。

//Account.java
public class Account {
  private String name;
  private String accountNumber;
  private double balance;

  public Account(String name, String accountNumber, double balance) {
    this.name = name;
    this.accountNumber = accountNumber;
    this.balance = balance;
  }

  public String getName() {
    return name;
  }

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

  public String getAccountNumber() {
    return accountNumber;
  }

  public void setAccountNumber(String accountNumber) {
    this.accountNumber = accountNumber;
  }

  public double getBalance() {
    return balance;
  }

  public void setBalance(double balance) {
    this.balance = balance;
  }

  public void deposit(double amount) {
    balance += amount;
  }

  public void withdraw(double amount) {
    balance -= amount;
  }

  public String getAccountInfo() {
    return "Name: " + name + ", Account Number: " + accountNumber + ", Balance: " + balance;
  }
}

上面的类有三个私有属性:姓名、帐号和余额。有几种方法可以存入、提取、在个人账户中保持余额、打印账户详细信息等等。

//Bank.java
import java.util.ArrayList;

public class Bank {
  private ArrayList < Account > accounts;

  public Bank() {
    accounts = new ArrayList < Account > ();
  }

  public void addAccount(Account account) {
    accounts.add(account);
  }

  public void removeAccount(Account account) {
    accounts.remove(account);
  }

  public void depositMoney(Account account, double amount) {
    account.deposit(amount);
  }

  public void withdrawMoney(Account account, double amount) {
    account.withdraw(amount);
  }

  public ArrayList < Account > getAccounts() {
    return accounts;
  }
}

上面的类有一个私有帐户属性,一个将此属性初始化为空数组列表的构造函数。它还具有从集合中添加和删除帐户以及从帐户中存入和提取资金的方法。

//Main.java
import java.util.ArrayList;
public class Main {
  public static void main(String[] args) {
    Bank bank = new Bank();

        Account account1 = new Account("屏幕前的你", "c0011", 500000);
        Account account2 = new Account("辛苦打工的我", "c0012", 50);
        Account account3 = new Account("狂徒张三", "c0013", 500000000);

        bank.addAccount(account1);
        bank.addAccount(account2);
        bank.addAccount(account3);

        ArrayList<Account> accounts = bank.getAccounts();

        for (Account account : accounts) {
            System.out.println(account.getAccountInfo());
        }

        System.out.println("\nAfter depositing 1000 into account1\n");
        bank.depositMoney(account1, 1000);
        System.out.println(account1.getAccountInfo());

        System.out.println("No transaction in account2:");
        System.out.println(account2.getAccountInfo());

        System.out.println("After withdrawing 50000 from account3:");
        bank.withdrawMoney(account3, 50000);
        System.out.println(account3.getAccountInfo());
  }
}

在上面的示例代码中,我们创建了“银行”类的一个实例和“账户”类的三个实例,并通过“地址账户”方法将它们添加到集合中。然后,我们使用for循环打印集合中每个账户的账户信息。我们还使用“存款货币”方法将1000存入账户1,并使用“取款货币”方法从账户3中提取50000。我们还打印更新的账户信息。账户2没有交易。