【練習題】01.類的成員變量 猜數字遊戲一個類A有一個成員變量v有一個初值100。定義一個類對A類的成員變量v進行猜。若是大了則提示大了小了則提示小了。等於則提示猜想成功。import java.util.;
public class lianxi
{
public static void main(String[] dsa)
{
A a=new A();
Scanner input=new Scanner(System.in);
while (1==1)
{
System.out.println(「請猜想數字」);
int i=input.nextInt();
if (i<a.v)
{
System.out.println(「小了」);
continue;
}
else if (i>a.v)
{
System.out.println(「大了」);
continue;
}
else
{
System.out.println(「恭喜你猜對了!」);
break;
}
}
}
}
class A
{
public int v=100;
}
【練習題】02.類的成員變量 請定義一個交通工具(Vehicle)的類其中有: 屬性速度(speed)體積(size)等等 方法移動(move())設置速度(setSpeed(int speed))加速speedUp(),減速speedDown()等等. 最後在測試類Vehicle中的main()中實例化一個交通工具對象並經過方法給它初始化speed,size的值而且經過打印出來。另外調用加速減速的方法對速度進行改變。public class Vehicle
{
private int speed;
private String size;
public void move()
{
System.out.println(「i’m moving」);
}
public void setSpeed(int speed)
{
System.out.println(「now i’m running with」+speed+「per hour」);
}
public void speedUp()
{
Vehicle v=new Vehicle();
v.setSpeed(1000);
}
public void speedDown()
{
Vehicle v=new Vehicle();
v.setSpeed(20);
}
public static void main(String[] dsa)
{
Vehicle v=new Vehicle();
v.speed=100;
v.size=「50/m^3」;
System.out.println(「the initial speed is」+v.speed+「and my size is 「+v.size);
v.speedUp();
v.speedDown();
}
}
【練習題】03.類的成員變量與方法、構造方法 在程序中常常要對時間進行操做可是並無時間類型的數據。那麼咱們能夠本身實現一個時間類來知足程序中的須要。 定義名爲MyTime的類其中應有三個整型成員時hour分minute秒second爲了保證數據的安全性這三個成員變量應聲明爲私有。 爲MyTime類定義構造方法以方便建立對象時初始化成員變量。 再定義diaplay方法用於將時間信息打印出來。 爲MyTime類添加如下方法 addSecond(int sec) addMinute(int min) addHour(int hou) subSecond(int sec) subMinute(int min) subHour(int hou) 分別對時、分、秒進行加減運算。public class MyTime
{
private int hour;
private int minute;
private int second;
public MyTime(int x,int y,int z)
{
this.hour=x;
this.minute=y;
this.second=z;
}
public void display()
{
System.out.println(「the time is 「+this.hour+」:」+this.minute+」:」+this.second);
}
public void addHour(int hou)
{
this.hour=this.hour+hou;
}
public void addSecond(int sec)
{
this.second=this.second+sec;
}
public void addMinute(int min)
{
this.minute=this.minute+min;
}
public void subHour(int hou)
{
this.hour=this.hour-hou;
}
public void subMinute(int min)
{
this.minute=this.minute-min;
}
public void subSecond(int sec)
{
this.second=this.second-sec;
}
}
【練習題】04.構造方法 編寫Java程序模擬簡單的計算器。 定義名爲Number的類其中有兩個整型數據成員n1和n2應聲明爲私有。編寫構造方法賦予n1和n2初始值再爲該類定義加addition、減subtration、乘multiplication、除division等公有成員方法分別對兩個成員變量執行加、減、乘、除的運算。 在main方法中建立Number類的對象調用各個方法並顯示計算結果。public class Number
{
private int x;
private int y;
public Number(int x,int y)
{
this.x=x;
this.y=y;
}
public void plus()
{
System.out.println(「the result is:」+(this.x+this.y));
}
public void except()
{
System.out.println(「the result is :」+(this.x-this.y));
}
public void multiplication()
{
System.out.println(「the result is :」+(this.xthis.y));
}
public void division()
{
System.out.println(「the result is :」+(this.x/this.y));
}
public static void main(String[] dsa)
{
Number lian=new Number(4,4);
lian.plus();
lian.except();
lian.multiplication();
lian.division();
}
}
【練習題】05.構造方法 編寫Java程序用於顯示人的姓名和年齡。 定義一我的類Person該類中應該有兩個私有屬性姓名name和年齡age。定義構造方法用來初始化數據成員。再定義顯示display方法將姓名和年齡打印出來。 在main方法中建立人類的實例而後將信息顯示。public class lianxi
{
private String name;
private int age;
public lianxi(String name,int age)
{
this.name=name;
this.age=age;
}
public void display()
{
System.out.println(「name:」+name+"\tage:"+age);
}
public static void main(String[] dsa)
{
lianxi lian=new lianxi(「wing」,29);
lian.display();
}
}
【練習題】06.get方法和set方法 定義一個類該類有一個私有成員變量經過構造方法將其進行賦初值並提供該成員的getXXX()和setXXX()方法 提示假設有private String name;則有public void setName(String name){ this.name = name; } public String getName(){ return this.name; }java
public class lianxi
{
private int i;
public lianxi(int i)
{
lianxi lian=new lianxi();
lian.seti(i);
lian.geti();
System.out.println(「i=」+i);
}
public lianxi()
{}
public int geti()
{
return i;
}
public void seti(int i)
{
this.i=i;
}
public static void main(String[] dsa)
{
lianxi lian=new lianxi(3);
}
}
【練習題】07.構造方法與重載 爲「無名的粉」寫一個類class WuMingFen 要求: 1.有三個屬性 面碼:String theMa 粉的份量(兩) int quantity 是否帶湯 boolean likeSoup 2.寫一個構造方法 以便於簡化初始化過程 如 WuMingFen f1 = new WuMingFen(「牛肉」,3,true); 3.重載構造方法 使得初始化過程能夠多樣化 WuMingFen f2 = new WuMingFen(「牛肉」,2); 4.如何使得下列語句構造出來的粉對象是酸辣面碼、2兩、帶湯的 WuMingFen f3 = new WuMingFen(); 5.寫一個普通方法 check() 用於查看粉是否符合要求。即 將對象的三個屬性打印在控制檯上。public class WuMingFen
{
private String theMa;
private int quantity;
private boolean likeSoup;
public WuMingFen (String s,int i,boolean b)
{
this.theMa=s;
this.quantity=i;
this.likeSoup=b;
}
public WuMingFen (String s,int i)
{
this.theMa=s;
this.quantity=i;
}
public WuMingFen (String s,boolean b,int i)
{
this.theMa=s;
this.quantity=i;
this.likeSoup=b;
if (btrue)
{
String b1=「帶湯的」;
System.out.println(theMa+quantity+「兩」+b1);
}
}
public void check()
{
if (likeSouptrue)
{
String b1=「帶湯的」;
System.out.println(「面碼:」+theMa+"\n份量"+quantity+"\n"+b1);
}
else
{
String b1=「不帶湯的」;
System.out.println(「面碼:」+theMa+"\n份量"+quantity+"\n"+b1);
}
}
public static void main(String[] args)
{
WuMingFen lian=new WuMingFen (「沙茶麪」,2,true);
lian.check();
}
}
【練習題】08.構造方法的重載 定義一個名爲Vehicles 交通工具 的基類 該類中應包含String類型的成員屬性brand 商標 和color 顏色 還應包含成員方法run 行駛 在控制檯顯示「我已經開動了」 和showInfo 顯示信息 在控制檯顯示商標和顏色 並編寫構造方法初始化其成員屬性。 編寫Car 小汽車 類繼承於Vehicles類 增長int型成員屬性seats 座位 還應增長成員方法showCar 在控制檯顯示小汽車的信息 並編寫構造方法。 編寫Truck 卡車 類繼承於Vehicles類 增長float型成員屬性load 載重 還應增長成員方法showTruck 在控制檯顯示卡車的信息 並編寫構造方法。 在main方法中測試以上各種。public class Vehicles
{
public String brand;
public String color;
public void run()
{
System.out.println(「i am running」);
}
public Vehicles(String b, String b1)
{
this.brand=b;
this.color=b1;
}
public void showInfo()
{
System.out.println(「brand:」+this.brand+"\tcolor:"+this.color);
}
public static void main(String[] dad)
{
Vehicles lian=new Vehicles (「Lamborgihini」,「yellow」);
lian.showInfo();
car c=new car(「Aventador」,「green」,6);
c.showCar();
Truck t=new Truck(「Dongfangxuetielong」,「Bule」,12);
t.showTruck();
}
}
class car extends Vehicles
{
public int seat;
public void showCar()
{
System.out.println(「i am a 「+this.brand+「my color is 「+this.color+「i have 「+this.seat+「seats~」);
}
public car(String b, String b1,int s)
{
super(b,b1);
this.seat=s;
}
}
class Truck extends Vehicles
{
public float load;
public void showTruck()
{
System.out.println(「i am a 「+this.brand+「my color is 「+this.color+「i can stand 「+this.load+「tons of materials」);
}
public Truck(String b, String b1,float f)
{
super(b,b1);
this.load=f;
}
}
【練習題】09.構造方法與重載 定義一個網絡用戶類 要處理的信息有用戶ID、用戶密碼、email地址。在創建類的實例時 把以上三個信息都做爲構造函數的參數輸入 其中用戶ID和用戶密碼時必須的 缺省的email地址是用戶ID加上字符串」@gameschool.com"public class UerInfo
{
private int id;
private String pwd;
private String e_add;
public UerInfo(int i,String s,String s1)
{
this.id=i;
this.pwd=s;
this.e_add=s1;
System.out.println(id+」\n」+pwd+」\n」+e_add);
}
public UerInfo(int i,String s)
{
this.id=i;
this.pwd=s;
this.e_add=id+"@gameschool.com」;
System.out.println(id+」\n」+pwd+」\n」+e_add);
}
public static void main(String[] dsa)
{
UerInfo uer=new UerInfo(1201012204,「dwajldwajlj」,"1111111111@gameschool.com」);
UerInfo u=new UerInfo(1201012204,「dwijadiwjal」);
}
}
【練習題】10.構造方法與重載、包 編寫Addition類 該類中應包含一組實現兩數相加運算的重載方法。 實現加法運算的方法 應接受兩個參數 即加數和被加數 方法將兩個參數進行加法運算後 返回相加結果。考慮可能針對不一樣的數據類型進行計算 重載一組方法 包括整型、長整型、浮點型、雙精度浮點型、還有字符串。 在main方法中建立Addition類的實例 分別調用重載方法測試其效果。 應將Addition類打入到包中 以本身名字的拼音爲包命名。package cj.lian;
public class lianxi
{
public void additionInt(int x,int y)
{
int sum=x+y;
System.out.println(「sum=」+sum);
}
public void additionLong(long x,long y)
{
long sum=x+y;
System.out.println(「sum=」+sum);
}
public void additionFloat(float x,float y)
{
float sum=x+y;
System.out.println(「sum=」+sum);
}
public void additionDouble(double x,double y)
{
double sum=x+y;
System.out.println(「sum=」+sum);
}
public void additionString(String x,String y)
{
String sum=x+y;
System.out.println(「sum=」+sum);
}
public static void main(String[] dsa)
{
lianxi lian=new lianxi();
lian.additionInt(1,2);
lian.additionString(「1」,「2」);
}
}
【練習題】11.構造方法與重載 將上次練習題三中編寫的MyTime類打到以本身名字的拼音命名的包中 併爲該類重載一組構造方法 以方便使用者可以以多種形式初始化該類的實例。package java.time;
public class MyTime
{
private int hour;
private int minute;
private int second;
public MyTime(int x,int y,int z)
{
this.hour=x;
this.minute=y;
this.second=z;
}
public MyTime()
{}
public void display()
{
System.out.println(「the time is 「+this.hour+」:」+this.minute+」:"+this.second);
}
public void addHour(int hou)
{
this.hour=this.hour+hou;
}
public void addSecond(int sec)
{
this.second=this.second+sec;
}
public void addMinute(int min)
{
this.minute=this.minute+min;
}
public void subHour(int hou)
{
this.hour=this.hour-hou;
}
public void subMinute(int min)
{
this.minute=this.minute-min;
}
public void subSecond(int sec)
{
this.second=this.second-sec;
}
public static void main(String[] das)
{
MyTime t=new MyTime();
t.display();
}
}
編譯包: javac -d . MyTime.java【練習題】12.構造方法與重載 創建一個汽車類 包括輪胎個數 汽車顏色 車身重量等屬性。並經過不一樣的構造方法建立事例。 至少要求 汽車可以加速 減速 停車。 要求 命名規範 代碼體現層次 有友好的操做提示。public class car
{
private int lunzi;
private String color;
private double weight;
public car(){}
public car(int i,String s,double d)
{
this.lunzi=i;
this.color=s;
this.weight=d;
}
public void SpeedUp()
{
System.out.println(「i am speeding up~」);
}
public void SpeedDown()
{
System.out.println(「i am speeding down~」);
}
public void Stop()
{
System.out.println(「i have stopped」);
}
public static void main(String[] das)
{
car c=new car();
car c1=new car(4,「yellow」,1.45);
c.SpeedUp();
c.SpeedDown();
c.Stop();
}
}
【練習題】13.構造方法與重載 建立一個類 爲該類定義三個構造函數 分別執行下列操做 一、傳遞兩個整數值並找出其中較大的一個值 二、傳遞三個double值並求出其乘積 三、傳遞兩個字符串值並檢查其是否相同 四、在main方法中測試構造函數的調用public class lianxi
{
public lianxi(int x,int y)
{
if (x>y)
{
System.out.println("The max is "+x);
}
else
System.out.println("The max is "+y);
}
public lianxi(double d1,double d2,double d3)
{
double ji=d1d2d3;
System.out.println("The multiply result is "+ji);
}
public lianxi(String s1,String s2)
{
boolean b;
if (s1.equals(s2))
{
b=true;
System.out.println(b);
}
else
{
b=false;
System.out.println(b);
}
}
public static void main(String[] dasd)
{
lianxi c=new lianxi(1,2);
lianxi c1=new lianxi(1,2,3);
lianxi c2=new lianxi(「nihao」,「nihao」);
}
}
【練習題】14.Static關鍵字與普通變量的區別 建立一個名稱爲StaticDemo的類 並聲明一個靜態變量和一個普通變量。對變量分別賦予10和5的初始值。在main()方法中輸出變量值。public class StaticDemo
{
private static int i=10;
private int y=5;
public static void main(String[] das)
{
StaticDemo s=new StaticDemo();
System.out.println("The static digit is 「+car.i+」\n and the normal digit is "+s.y);
}
}
【練習題】15.繼承 建立一個名稱爲MainPackage的包 使它包含MainClass和MainSubClass類。MainClass類應當包含變量聲明 其值從構造函數中輸出。MainSubClass類從MainClass派生而來。試執行下列操做 建立一個名稱爲SamePackage的類 使它導入上述包 並建立一個MainSubClass類的對象。建立MainClass包–package MainPackage.Main;
public class MainClass
{
public int i=10;
public MainClass()
{
System.out.println(i);
}
}
建立MainSubClass包–package MainPackage.Main;
public class MainSubClass extends MainClass
{
public MainSubClass (){}
}
建立SamePackage類—import MainPackage.Main.MainSubClass;
public class SamePackage
{
public static void main(String[] da)
{
MainSubClass m=new MainSubClass();
}
}
【練習題】16.包、繼承、構造函數 建立一個名稱爲MainPackage的包 使它包含MainClass和MainSubClass類。MainClass類應當包含變量聲明 其值從構造方法中輸出。MainSubClass類從MainClass派生而來。試執行下列操做 建立一個名稱爲SamePackage的類 使它導入上述包 並建立一個MainSubClass類的對象。建立MainClass包–package MainPackage.Main;
public class MainClass
{
public int i=10;
public MainClass()
{
System.out.println(i);
}
}
建立MainSubClass包–package MainPackage.Main;
public class MainSubClass extends MainClass
{
public MainSubClass (){}
}
建立SamePackage類—import MainPackage.Main.MainSubClass;
public class SamePackage
{
public static void main(String[] da)
{
MainSubClass m=new MainSubClass();
}
}
【練習題】17.繼承 建立一個父類和子類 父類有一個數據成員 子類繼承父類的該數據成員 經過構造函數初始化並顯示該數據成員的值。 class Father
{
public int i=10;
}
class Son extends Father
{
public lianxi()
{
System.out.println(i);
}
public static void main(String[] dsa)
{
Son s=new Son ();
}
}
【練習題】18.覆蓋、繼承 創建一個汽車Auto類 包括輪胎個數 汽車顏色 車身重量、速度等成員變量。並經過不一樣的構造方法建立實例。至少要求 汽車可以加速 減速 停車。 再定義一個小汽車類Car 繼承Auto 並添加空調、CD等成員變量 覆蓋加速 減速的方法public class Auto
{
public int luntai;
public String color;
public double weight;
public int speed;
public Auto(){}
public void jiasu()
{
System.out.println(「wo zai jiasu」);
}
public void jiansu()
{
System.out.println(「wo zai jiansu」);
}
public void tingzhi()
{
System.out.println("wo bu kai le ");
}
public static void main(String[] dsa)
{
car c=new car();
c.jiasu();
c.jiansu();
}
}
class car extends Auto
{
public String air_condition;
public String cd;
public void jiasu()
{
System.out.println(「wo shi jiaoche, wo zai jiasu」);
}
public void jiansu()
{
System.out.println(「wo shi jianche,wo zai jiansu」);
}
}git
【練習題】19.抽象類與繼承 設計一個能細分爲矩形、三角形、圓形和橢圓形的「圖形」類。使用繼承將這些圖形分類 找出能做爲基類部分的共同特徵(如校準點)和方法(如畫法、初始化) 並看看這些圖形是否能進一步劃分爲子類。 本題只考慮實現思想 不考慮具體實現的細節 實現方式可自由發揮。 ```java abstract class tuxing { public tuxing() { System.out.println("i am tuxing"); } public static void main(String[] dsa) { juxing j=new juxing(); circle c=new circle(); tuoyuan t=new tuoyuan(); } } class juxing extends tuxing { public juxing() { System.out.println(" i am juxing"); } } class circle extends tuxing { public circle() { System.out.println("i am circle"); } } class tuoyuan extends circle { public tuoyuan() { System.out.println("i am tuoyuan"); } } 【練習題】20.抽象類 建立一個Vehicle類並將它聲明爲抽象類。在Vehicle類中聲明一個NoOfWheels方法 使它返回一個字符串值。建立兩個類Car和Motorbike從Vehicle類繼承 並在這兩個類中實現NoOfWheels方法。在Car類中 應當顯示「四輪車」信息 而在Motorbike類中 應當顯示「雙輪車」信息。建立另外一個帶main方法的類 在該類中建立Car和Motorbike的實例 並在控制檯中顯示消息。public class lianxi { public static void main(String[] dsa) { Car c=new Car(); c.NoOfWheels(); Motorbike m=new Motorbike(); m.NoOfWheels(); } } abstract class Vehicle { public void NoOfWheels(){} } class Car extends Vehicle { public void NoOfWheels() { System.out.println("四輪車"); } } class Motorbike extends Vehicle { public void NoOfWheels() { System.out.println("雙輪車"); } } 【練習題】21.抽象類 建立一個Vehicle類並將它聲明爲抽象類。在Vehicle類中聲明一個NoOfWheels方法 使它返回一個字符串值。建立兩個類Car和Motorbike從Vehicle類繼承 並在這兩個類中實現NoOfWheels方法。在Car類中 應當顯示「四輪車」信息 而在Motorbike類中 應當顯示「雙輪車」信息。建立另外一個帶main方法的類 在該類中建立Car和Motorbike的實例 並在控制檯中顯示消息。public class lianxi { public static void main(String[] dsa) { Car c=new Car(); c.NoOfWheels(); Motorbike m=new Motorbike(); m.NoOfWheels(); } } abstract class Vehicle { public void NoOfWheels(){} } class