Java 課下練習題 T1
1)設計顯示各種水果的定購詳情的類,詳情包括:名稱、數量、價格
測試資料:"蘋果", 10, 20 ; "芒果", 18, 56 ; "桔子", 25, 75
2)設計一個類用於得出三個不同盒子的體積。
測試資料:2, 3, 4 ;1, 5, 6 ;3, 8, 2
3)設計一個Tools類提供過載方法println()和println(String info),讓其接收不同的資料並能列印字串,數字,布林值和換行列印。
4)設計用於將華氏溫度轉換為攝氏溫度的類.
提示:
華氏溫度轉換為攝氏溫度.公式 攝氏=(華氏-32)*5/9
攝氏溫度轉換為華氏溫度.公式 華氏=攝氏*9/5+32
5)設計一個測試類,僅有一個main方法,然後在main中設定一個華氏溫度,然後呼叫上題定義的方法轉換成攝氏溫度,最後使用6中的Tools類的print完成列印輸出
6).寫一個名叫Person的類表示人類,資料域為姓名name、性別gender、年齡age,name是String型別、gender是boolean型別(true表示男性,false表示女性)、age是int型別;人的行為有行走walk、吃eat。要求如下:
a) 實現walk和eat方法,分別列印“XXX在行走”,“XXX在吃東西”;XXX是具體人名
b) 提供main方法,創造兩個人類的例項:Lucy,女,23歲;Jame,男,25歲
c) 在main方法中分別呼叫兩個人類例項的walk和eat方法,觀察列印結果
7).程式碼閱讀:給定如下Java程式碼,編譯執行後,輸出結果是什麼?並解釋原因。
class Base {
public Base() {
System.out.println("Base");
}
}
class Child extends Base{
public Child() {
System.out.println("Child");
}
public class Sample {
public static void main(String[] args) {
Child c = new Child();
}
}
//7.自動繼承了父類的屬性和方法,所以會先呼叫父類的建構函式輸出
8). 程式碼改錯:請指出如下Java程式碼中存在的錯誤,並解釋原因。
class Base {
public void method() {
}
}
class Child extends Base{
public int method() {
}
private void method() {
}
public void method(String s) {
}
}
//int method()是一個需要返回值的函式 ,而且在父類中已經有一個同名函式了
//void method()是因為在父類中已經有一個一樣的函式了
//子類不能過載父類的方法,只能重寫或覆蓋、子類中父類的同名方法也不可以私有。
9). 程式碼改錯:請指出如下Java程式碼中存在的錯誤,並改正
public class Sample {
public static void main(String[] args) {
Child c = new Child();
}
}
class Base extends Object{
private String name;
public Base() {
name = "Base";
}
}
class Child extends Base{
public Child() {
super("Child");
}
}
//呼叫了父類中的建構函式,可是父類中的是無引數建構函式,這裡使用了引數,所以報錯,可以將引數刪除或者將父類的建構函式中新增上引數
10). 程式碼改錯:請指出如下Java程式碼中存在的錯誤,並改正。
class Teacher {
public void giveLesson() {
System.out.println("知識點講解");
System.out.println("總結提問");
}
}
class DBTeacher extends Teacher {
public void giveLesson() {
System.out.println("啟動 SqlServer");
super.giveLesson();
}
public void sayHi() {
System.out.printl ("Hi");
}
}
public class Test {
public static void main(String[] args) {
Teacher t = new DBrreacher ();
t.sayHi();
t.giveLesson();
}
//物件的建立有問題,首先是建立物件的類不一致,同時類物件的使用需要是DBTeacher,因為只有這個類才有sayHi()函式,故修改物件的建立即可,DBTeacher t = new DBTeacher();
11).在員工管理系統中,有普通員工,經理,董事三種角色,公司所有的員工都有員工Id,員工名字,員工基本薪水(2000),請假天數;現初步定Employee類為父類,Manager子類、Director(董事)子類,它們的區別是計算工資方式不一樣。
具體工資計算辦法:
A、工資扣除部分:如果請假小於5天,基本工資發75%,大於5天,基本工資發50% ;
B、經理的工資=基本工資+住房補貼(基本工資的0.2)+交通補貼(基本工資的0.5)+醫療補貼(500) ;
C、董事的工資=基本工資+住房補貼(基本工資的0.08)+交通補貼(基本工資的0.3)+醫療補貼(2000)+娛樂補貼(3000) ;
測試資料:"蘋果", 10, 20 ; "芒果", 18, 56 ; "桔子", 25, 75
2)設計一個類用於得出三個不同盒子的體積。
測試資料:2, 3, 4 ;1, 5, 6 ;3, 8, 2
3)設計一個Tools類提供過載方法println()和println(String info),讓其接收不同的資料並能列印字串,數字,布林值和換行列印。
4)設計用於將華氏溫度轉換為攝氏溫度的類.
提示:
華氏溫度轉換為攝氏溫度.公式 攝氏=(華氏-32)*5/9
攝氏溫度轉換為華氏溫度.公式 華氏=攝氏*9/5+32
5)設計一個測試類,僅有一個main方法,然後在main中設定一個華氏溫度,然後呼叫上題定義的方法轉換成攝氏溫度,最後使用6中的Tools類的print完成列印輸出
6).寫一個名叫Person的類表示人類,資料域為姓名name、性別gender、年齡age,name是String型別、gender是boolean型別(true表示男性,false表示女性)、age是int型別;人的行為有行走walk、吃eat。要求如下:
a) 實現walk和eat方法,分別列印“XXX在行走”,“XXX在吃東西”;XXX是具體人名
b) 提供main方法,創造兩個人類的例項:Lucy,女,23歲;Jame,男,25歲
c) 在main方法中分別呼叫兩個人類例項的walk和eat方法,觀察列印結果
7).程式碼閱讀:給定如下Java程式碼,編譯執行後,輸出結果是什麼?並解釋原因。
class Base {
public Base() {
System.out.println("Base");
}
}
class Child extends Base{
public Child() {
System.out.println("Child");
}
public class Sample {
public static void main(String[] args) {
Child c = new Child();
}
}
//7.自動繼承了父類的屬性和方法,所以會先呼叫父類的建構函式輸出
8). 程式碼改錯:請指出如下Java程式碼中存在的錯誤,並解釋原因。
class Base {
public void method() {
}
}
class Child extends Base{
public int method() {
}
private void method() {
}
public void method(String s) {
}
}
//int method()是一個需要返回值的函式 ,而且在父類中已經有一個同名函式了
//void method()是因為在父類中已經有一個一樣的函式了
//子類不能過載父類的方法,只能重寫或覆蓋、子類中父類的同名方法也不可以私有。
9). 程式碼改錯:請指出如下Java程式碼中存在的錯誤,並改正
public class Sample {
public static void main(String[] args) {
Child c = new Child();
}
}
class Base extends Object{
private String name;
public Base() {
name = "Base";
}
}
class Child extends Base{
public Child() {
super("Child");
}
}
//呼叫了父類中的建構函式,可是父類中的是無引數建構函式,這裡使用了引數,所以報錯,可以將引數刪除或者將父類的建構函式中新增上引數
10). 程式碼改錯:請指出如下Java程式碼中存在的錯誤,並改正。
class Teacher {
public void giveLesson() {
System.out.println("知識點講解");
System.out.println("總結提問");
}
}
class DBTeacher extends Teacher {
public void giveLesson() {
System.out.println("啟動 SqlServer");
super.giveLesson();
}
public void sayHi() {
System.out.printl ("Hi");
}
}
public class Test {
public static void main(String[] args) {
Teacher t = new DBrreacher ();
t.sayHi();
t.giveLesson();
}
//物件的建立有問題,首先是建立物件的類不一致,同時類物件的使用需要是DBTeacher,因為只有這個類才有sayHi()函式,故修改物件的建立即可,DBTeacher t = new DBTeacher();
11).在員工管理系統中,有普通員工,經理,董事三種角色,公司所有的員工都有員工Id,員工名字,員工基本薪水(2000),請假天數;現初步定Employee類為父類,Manager子類、Director(董事)子類,它們的區別是計算工資方式不一樣。
具體工資計算辦法:
A、工資扣除部分:如果請假小於5天,基本工資發75%,大於5天,基本工資發50% ;
B、經理的工資=基本工資+住房補貼(基本工資的0.2)+交通補貼(基本工資的0.5)+醫療補貼(500) ;
C、董事的工資=基本工資+住房補貼(基本工資的0.08)+交通補貼(基本工資的0.3)+醫療補貼(2000)+娛樂補貼(3000) ;
現完成此係統的設計。
public class Test_round {
public static void main(String arg[]){
//1
// Fruit fruit1=new Fruit();
// fruit1.name="蘋果";
// fruit1.number=10;
// fruit1.price=20;
// fruit1.text();
//2
// Box boxV=new Box(2,3,4);
// System.out.print(boxV.text());
//3
// Tools tools=new Tools();
// tools.println("women");
// tools.println();
// tools.println(123);
// tools.println(0);
//4
// Temperature temperature=new Temperature(32);
// System.out.print(temperature.text());
//5
// double Htemp=33;
// Temperature temperature=new Temperature(Htemp);
// Tools tools=new Tools();
// tools.println(temperature.text());
//6:Lucy,女,23歲;Jame,男,25歲
// Person man=new Person("Jame",true,25);
// man.walk();man.eat();
// Person woman=new Person("Lucy",false,23);
// woman.walk();woman.eat();
//7.自動繼承了父類的屬性和方法,所以會先呼叫父類的建構函式輸出
//8.int method()是一個需要返回值的函式 ,而且在父類中已經有一個同名函式了
//void method()是因為在父類中已經有一個一樣的函式了
//子類不能過載父類的方法,只能重寫或覆蓋、子類中父類的同名方法也不可以私有。
//9.呼叫了父類中的建構函式,可是父類中的是無引數建構函式,這裡使用了引數,所以報錯,可以將引數刪除或者將父類的建構函式中新增上引數
//10
// DBTeacher t = new DBTeacher();//這裡建立物件錯誤,應該為同一個類
// t.sayHi();
// t.giveLesson();
Employee employee =new Employee(001, "emp",0);
employee.monthsal();
employee.text();
Manager manager =new Manager(002, "manager",0);
manager.monthsal();
manager.text();
Director director =new Director(003, "director",0);
director.monthsal();
director.text();
}
}
class Fruit{
String name;
int number;
int price;
public void text()
{
System.out.print(name+":"+number+","+price);
}
}
class Box{
int box1,box2,box3;
public Box(int box1,int box2,int box3){
this.box1=box1;
this.box2=box2;
this.box3=box3;
}
public int text(){
return box1*box2*box3;
}
}
class Tools{
public void println()
{
System.out.print('\n'); // 換行
}
public void println(String info){
System.out.print(info);
}
public void println(double info){
System.out.print(info);
}
public void println(Boolean info){
System.out.print(info);
}
}
class Temperature{
double Stemp;
public Temperature(double Stemp)
{
this.Stemp=Stemp;
}
public double text(){
return (Stemp-32)*5/9;
}
}
class Person{
String name;
boolean gender;
int age;
public Person(String name,boolean gender,int age){
this.name=name;
this.gender=gender;
this.age=age;
}
public void walk(){
System.out.print(name+"在行走");
}
public void eat(){
System.out.print(name+"在吃東西");
}
}
/*
3)設計一個Tools類提供過載方法println()和println(String info),讓其接收不同的資料並能列印字串,數字,布林值和換行列印。
*/
class Teacher {
public void giveLesson() {
System.out.println("知識點講解");
System.out.println("總結提問");
}
}
class DBTeacher extends Teacher {
public void giveLesson() {
System.out.println("啟動 SqlServer");
super.giveLesson();
}
public void sayHi() {
System.out.println("Hi");
}
} /*
11).在員工管理系統中,有普通員工,經理,董事三種角色,公司所有的員工都有員工Id,員工名字,員工基本薪水(2000),請假天數;
現初步定Employee類為父類,Manager子類、Director(董事)子類,它們的區別
是計算工資方式不一樣。
具體工資計算辦法:
A、工資扣除部分:如果請假小於5天,基本工資發75%,大於5天,基本工資發50% ;
B、經理的工資=基本工資+住房補貼(基本工資的0.2)+交通補貼(基本工資的0.5)+醫療補貼(500) ;
C、董事的工資=基本工資+住房補貼(基本工資的0.08)+交通補貼(基本工資的0.3)+醫療補貼(2000)+娛樂補貼(3000) ;
現完成此係統的設計。*/
class Employee{
int id;
String name;
double sal=2000;
int relaxday;
public Employee(int id,String name,int relaxday){
this.id=id;
this.name=name;
this.relaxday=relaxday;
}
public void monthsal(){
if (1<=relaxday&&relaxday<=5) {
sal=sal*0.75;
}
else if(relaxday>5)
sal=sal*0.5;}
public void text(){
System.out.print("id:"+id+","+"名字:"+name+","+"工資:"+sal+","+"請假天數:"+relaxday+","+'\n');
}
}
//B、經理的工資=基本工資+住房補貼(基本工資的0.2)+交通補貼(基本工資的0.5)+醫療補貼(500) ;
class Manager extends Employee{
public Manager(int id, String name, int relaxday) {
super(id, name, relaxday);
// TODO Auto-generated constructor stub
}
public void monthsal()
{
if (1<=relaxday&&relaxday<=5) {
sal=sal*0.75;
}
else if(relaxday>5) sal=sal*0.5;
sal=sal+sal*0.2+sal*0.5+500;
}
}
//C、董事的工資=基本工資+住房補貼(基本工資的0.08)+交通補貼(基本工資的0.3)+醫療補貼(2000)+娛樂補貼(3000) ;
class Director extends Employee{
public Director(int id, String name,int relaxday) {
super(id, name, relaxday);
// TODO Auto-generated constructor stub
}
public void monthsal()
{
if (1<=relaxday&&relaxday<=5) {
sal=sal*0.75;
}
else if(relaxday>5)
sal=sal*0.5;
sal=sal+sal*0.08+sal*0.3+5000;
}
}
相關文章
- U7-11課綜合練習+12課階段測評練習——複習練習題目
- java課後題複習Java
- 第二章課後練習題
- 慕課網Python入門練習題---Python
- JAVA 基礎練習題Java
- java String類練習題Java
- Java Web概述-練習題JavaWeb
- java異常練習題Java
- 課堂練習
- 課後練習
- Java課後習題總結Java
- Java練習題-評委打分Java
- java常見遞迴練習題Java遞迴
- Java進階練習題整理(1)Java
- 那些年,我們一起做過的 Java 課後練習題(1 - 5)Java
- 那些年,我們一起做過的 Java 課後練習題(71 - 75)Java
- java第一次正式課程課後習題Java
- JAVA入門第三季第一章第九節課後練習題!Java
- python 實現課堂練習Python
- 新手練習:Python練習題目Python
- 習題練習題-第二題
- Java方法練習Java
- 《Python程式設計》第十一章部分課後練習題Python程式設計
- 《Python程式設計》第七章部分課後練習題Python程式設計
- Java第三季6-5 Collections.sort() 課後練習Java
- java基礎第二季最後一節課練習Java
- NFS練習題NFS
- SQL練習題SQL
- mysql練習題MySql
- TypeScript 練習題TypeScript
- 練習題-9
- shell練習題
- Python 練習題Python
- 《Python程式設計》第九章部分課後練習題Python程式設計
- 《Python程式設計》第十章部分課後練習題Python程式設計
- 《Python程式設計》第八章部分課後練習題Python程式設計
- Java繼承練習Java繼承
- Java Map集合練習Java
- JAVA 陣列 練習Java陣列