Java期末復習題之封裝

點擊返回標題->23年Java期末復習-CSDN博客


第1題.

定義一個類Person,定義name和age私有屬性,定義有參的構造方法對name和age進行初始化。在測試類中創建該類的2個對象,姓名、年齡分別為lili、19和lucy、20,在屏幕打印出2個對象的姓名和年齡。

?

public class Main {public static void main(String[] args) {Person p1 = new Person("lily",19);Person p2 = new Person("lucy",20);System.out.println(p1.toString());System.out.println(p2.toString());}
}
class Person{private String name;private int age;//有參構造給對象賦值Person(String name,int age){this.name = name;this.age = age;}//toString返回由name和age組成的預定字符串public String toString() {return "Person{" +"name='" + name + '\'' +", age=" + age +'}';}
}

第2題.

首先定義一個計算長方形面積的類rectangleClass,要求類中有一個定義長方形左上角和右下角座標的構造函數,以及一個通過長方形右下角座標與左上角座標計算長方形面積,并實例化兩個長方形進行測試.

?

public class Main {public static void main(String[] args) {rectangleClass rec1 = new rectangleClass(-5, 3, -3, 1);rectangleClass rec2 = new rectangleClass(2, -3, 4, -6);System.out.println("rec1" + rec1.getPoint() + "其面積為:" + rec1.getArea());System.out.println("rec2" + rec2.getPoint() + "其面積為:" + rec2.getArea());}
}
class rectangleClass {int x1, y1, x2, y2;//有參構造,定義長方形左上角和右下角座標rectangleClass(int x1, int y1, int x2, int y2) {this.x1 = x1;this.x2 = x2;this.y1 = y1;this.y2 = y2;}//返回計算的面積double getArea() {return Math.abs(x1 - x2) * Math.abs(y1 - y2);}//獲取當前長方形左上角點和右下角點的坐標String getPoint() {return "左上角坐標為:(" + this.x1 + "," + this.y1 + ")," + "右下角角坐標為:(" + this.x2 + "," + this.y2 + "),";}
}

第3題.

設計一個表示圖書的Book類,它包含圖書的書名、作者、月銷售量等私有屬性,另有兩個構造方法(一個不帶參數,另一個帶參數),成員方法setBook( ) 和printBook()分別用于設置和輸出書名、作者、月銷售量等數據。并設計相應的測試Book類的應用程序主類,測試并顯示輸出提供所有功能的結果。

?

public class Main {public static void main(String[] args) {//b1采取有參構造實例化對象并賦值的形式Book b1 = new Book("三體", "劉慈欣", 114514);b1.printBook();//b2采取無參構造實例化對象,調用setBook()成員方法賦值的形式Book b2 = new Book();b2.setBook("龍族", "江南", 10086);b2.printBook();}
}
class Book {private String name, author;private int sale_volume;//無參構造Book() {System.out.println("無參構造被調用");}//有參構造Book(String name, String author, int sale_volume) {System.out.println("有參構造被調用");this.name = name;this.author = author;this.sale_volume = sale_volume;}//設置書本信息void setBook(String name, String author, int sale_volume) {this.name = name;this.author = author;this.sale_volume = sale_volume;}//打印書本信息void printBook() {System.out.printf("書名:%s    作者:%s   月銷售量:%d\n", this.name, this.author, this.sale_volume);}
}

第4題.

請創建一個銀行帳戶類,要求如下:(1)類包括帳戶名、帳戶號、存款額等私有屬性;(3)有三個參數的構造方法(2)可實現余額查詢,存款和取款的操作。(3)創建該類的對象,驗證以上兩項。

?

import java.util.Scanner;
public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);Bank b1 = new Bank("張三", "123456", 100);int input;do {//循環彈出菜單并請求選擇menu();input = sc.nextInt();switch (input) {case 1:b1.getBalance();break;case 2:b1.save_money();break;case 3:if(b1.getBalance()==0){System.out.println("你的賬戶余額為0,無分文可取!");break;}b1.withdraw_money();break;case 0:System.out.println("已退出,歡迎再次使用!");break;default:System.out.println("該選項尚未開發……");break;}} while (input != 0);}public static void menu() {//打印菜單System.out.println("************************");System.out.println("****** 1.查詢余額 ********");System.out.println("****** 2.存款    ********");System.out.println("****** 3.取款    ********");System.out.println("****** 0.退出賬戶 ********");}static class Bank {private String account_name, account_number;private int balance;public Bank(String account_name, String account_number, int balance) {this.account_name = account_name;this.account_number = account_number;this.balance = balance;}int getBalance() {//余額查詢System.out.printf("用戶名:%s,當前余額:%d\n", this.account_name, this.balance);return this.balance;}void save_money() {//存錢int save;Scanner sc = new Scanner(System.in);while (true) {System.out.println("你要存多少錢?請輸入->");save = sc.nextInt();if (save <= 0) {System.out.println("請輸入合理的存款數!");continue;}break;}this.balance += save;System.out.printf("完成存款,本次存款共計%d元,當前余額%d\n", save, this.balance);}void withdraw_money() {//取錢int withdraw;Scanner sc = new Scanner(System.in);while (true) {System.out.println("你要取多少錢?請輸入->");withdraw = sc.nextInt();if (withdraw <= 0) {System.out.println("請輸入合理的取款數!");continue;} else if (withdraw > this.balance) {System.out.println("你沒用這么多錢可供取款!");continue;}break;}this.balance -= withdraw;System.out.printf("完成取款,本次取款共計%d元,當前余額%d\n", withdraw, this.balance);}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/207497.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/207497.shtml
英文地址,請注明出處:http://en.pswp.cn/news/207497.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2024年江蘇省職業院校技能大賽信息安全管理與評估 理論題(樣卷)

2024年江蘇省職業院校技能大賽信息安全管理與評估 理論題&#xff08;樣卷&#xff09; 理論技能與職業素養&#xff08;100分&#xff09; 2024年江蘇省職業院校技能大賽&#xff08;高職學生組&#xff09; 模塊三“信息安全管理與評估”理論技能 【注意事項】 Geek極安云…

Qt對excel操作

Qt庫中自帶對excel操作的模塊QAxObject&#xff0c;QAxObject是Qt提供給程序員從代碼中訪問Office的對象類&#xff0c;其本質上是一個面向微軟操作系統的COM接口。 QAxObject將所有Office的工作簿、表格、文檔等都作為其子對象&#xff0c;程序員通過調用querySubObject()這個…

vue-quill-editor上傳圖片base64轉化為img標簽

vue-quill-editor傳圖片的話默認把圖片轉成了base64&#xff0c;會導致我們的參數特別大&#xff0c;不好渲染 基于vue-quill-editor重寫一個quill-editor組件 <template><div><quilleditorv-model"content"ref"myTextEditor":options&qu…

在線圖片轉Base64圖片的方法

html版(不包含跨域解決,輸入在線圖片地址即可轉換) <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>…

Cisco 思科路由交換網絡設備 安全基線 安全加固操作

目錄 賬號管理、認證授權 本機認證和授權ELK-Cisco-01-01-01 設置特權口令 ELK-Cisco-01-02-01 ELK-Cisco-01-02-02 ???????登錄要求 ELK-Cisco-01-03-01 ???????ELK-Cisco-01-03-02 ELK-Cisco-01-03-03 日志配置 ELK-Cisco-02-01-01 通信協議 ELK-Cisco-…

軟考高級信息系統項目管理師經驗分享

考了三次終于考過了。 第一次&#xff0c;沒準備&#xff0c;打醬油。 第二次&#xff0c;不舍得花錢&#xff0c;自己復習&#xff0c;結果教材改版了都不知道。 第三次&#xff0c;改機考了。 總結一下這三次的經驗&#xff1a; 一、不是學霸型的一定要報班 報班的優點&…

實時動作識別學習筆記

目錄 yowo v2 yowof 判斷是在干什么,不能獲取細節信息 yowo v2 https://github.com/yjh0410/YOWOv2/blob/master/README_CN.md ModelClipmAPFPSweightYOWOv2-Nano1612.640ckptYOWOv2-Tiny

【prometheus】入門+實習需求實戰

prometheus官方教程 說明&#xff1a; 感冒了&#xff0c;寫點總結不浪費時間&#xff0c;聲明不會扯出來任何的私有代碼&#xff0c;畢竟要保密&#xff0c;只會講prometheus的官方有的&#xff0c;以及那些開源的代碼方法&#xff0c;例如prometheus客戶端代方法&#xff0…

QML中Dialog獲取close與open狀態

1.新建MyDialog.qml import QtQuick 2.15import QtQuick.Dialogs 1.2Dialog {id: rootvisible: falsetitle: qsTr("彈出對話框")width: 250height: 200} 2.main.qml中調用MyDialog import QtQuick 2.15 import QtQuick.Window 2.15 import QtQuick.Controls 2.15…

JS原生實現瀏覽器滾動條滾動側邊欄高亮響應

目錄 演示 ?編輯 需求 代碼 css html script 代碼解釋 1、獲取所有link-content 2、定義一個rectContent數組&#xff0c;然后循環allContents調用getClientRects()[0]獲取每個link-content元素與瀏覽器視口的關系 3、為數組追加link-content&#xff0c;用于設置側…

軟件設計師——面向對象技術(一)

&#x1f4d1;前言 本文主要是【面向對象技術】——軟件設計師—面向對象技術的文章&#xff0c;如果有什么需要改進的地方還請大佬指出?? &#x1f3ac;作者簡介&#xff1a;大家好&#xff0c;我是聽風與他&#x1f947; ??博客首頁&#xff1a;CSDN主頁聽風與他 &#…

C++學習筆記(十一)

一、類和對象 C面向對象的三大特性為&#xff1a;封裝、繼承、多態 C認為萬事萬物皆為對象&#xff0c;對象上有其屬性和行為 例如&#xff1a;人可以作為對象&#xff0c;屬性有姓名、年齡、身高......&#xff0c;行為有走、吃、睡覺 車也可以作為對象&#xff0c;屬性有輪…

官網IDM下載和安裝的詳細步驟

目錄 一、IDM是什么 二、下載安裝 三、解決下載超時的問題 四、谷歌瀏覽器打開IDM插件 谷歌瀏覽器下載官網&#x1f447; 五、測試 六、資源包獲取 一、IDM是什么 IDM&#xff08;internet download manager&#xff09;是一個互聯網下載工具插件&#xff0c;常見于用…

要求CHATGPT高質量回答的藝術:提示工程技術的完整指南—第 29 章:ChatGPT 插件

要求CHATGPT高質量回答的藝術&#xff1a;提示工程技術的完整指南—第 29 章&#xff1a;ChatGPT 插件 這是 ChatGPT 的另一個圣杯。它將徹底改變你使用 ChatGPT 的方式。ChatGPT 插件本質上是將 ChatGPT 的功能擴展到文本輸出之外。它允許你上傳圖片、視頻、音頻和 CSV 文件&…

資深IT經理分享如何選擇商用遠控軟件三:評估產品方案匹配度

作為企業必要的IT管理和遠程辦公工具&#xff0c;遠程控制解決方案的挑選和采購是需要IT部門慎重考慮的。 對于具體如何在諸多產品中選擇合適的商用遠程控制解決方案&#xff0c;此前我們就分享了一位資深IT經理的相關經驗&#xff0c;目前已經涵蓋初期的業務需求調研&#xf…

【ESP32 IDF】ESP32移植u8g2庫,實現oled界面顯示

ESP32移植u8g2庫&#xff0c;實現oled界面顯示 1. 簡單描述2. 環境準備1. 硬件準備2. 軟件準備 3. IIC屏幕 【基于 ssd1362 256*64 】4. SPI屏幕 【基于 ssd1306 128*32】 1. 簡單描述 開發方式為 IDF5.0參考連接為 iic基于esp-idf移植使用u8g2 spi基于esp-idf移植使用u8g2 …

探索創意無限的Photoshop CC 2020Mac/Win版

作為一款功能強大的圖像處理軟件&#xff0c;Photoshop CC 2020&#xff08;簡稱PS 2020&#xff09;在全球范圍內備受設計師、攝影師和藝術家的喜愛和推崇。它不僅為用戶提供了豐富多樣的工具和功能&#xff0c;還不斷推出新的創意特效和改進的功能&#xff0c;讓用戶的創意無…

【數據結構和算法】擁有最多糖果的孩子

其他系列文章導航 Java基礎合集數據結構與算法合集 設計模式合集 多線程合集 分布式合集 ES合集 文章目錄 其他系列文章導航 文章目錄 前言 一、題目描述 二、題解 三、代碼 四、復雜度分析 前言 這是力扣的1431題&#xff0c;難度為簡單&#xff0c;解題方案有很多種&…

C# Solidworks二次開發:選擇管理器相關的API介紹

今天在講述主要內容之前&#xff0c;先說一個不太相關的問題。 我之前在其他文章中看到有一些朋友在問為什么獲取到的點位數據需要乘以1000進行單位轉換&#xff0c;其實原因是這樣的&#xff0c;在所有使用的API中如果沒有特殊說明&#xff0c;所有的長度單位都是米&#xff…

蘋果Vision Pro即將量產

據界面新聞消息&#xff0c;蘋果公司將在今年12月正式量產第一代MR&#xff08;混合現實&#xff09;產品Vision Pro。蘋果公司對Vision Pro寄予了厚望&#xff0c;預計首批備貨40萬臺左右&#xff0c;2024年的銷量目標是100萬臺&#xff0c;第三年達到1000萬臺。 蘋果的供應…