java籃球
『壹』 java 面向對象 雙色球設計
1、球對象
publicclassBall{
privateStringcolor;
privateintnumber;
publicStringgetColor(){
returncolor;
}
publicvoidsetColor(Stringcolor){
this.color=color;
}
publicintgetNumber(){
returnnumber;
}
publicvoidsetNumber(intnumber){
this.number=number;
}
}
2、球池對象
importjava.util.Random;
publicclassBallPond{
privateBall[]balls;
privateBall[]resultBalls;
publicBall[]getBalls(){
returnballs;
}
//生成原始球池
publicvoidsetBalls(Stringcolor){
Ball[]陸枯扒balls=null;
if(color.equals("red")){//生成紅球池
Ball[]redBalls=newBall[33];
for(inti=1;i<=33;i++){
Ballball=newBall();
ball.setColor("red");
ball.setNumber(i);
redBalls[i-1]=ball;
}
balls=redBalls;
}else{//生成藍球池
Ball[]blueBalls=newBall[16];
for(int早昌i=1;i<=16;i++){
Ballball=newBall();
ball.setColor("blue");
ball.setNumber(i);
blueBalls[i-1]=ball;
}
balls=blueBalls;
}
this.balls=balls;
}
publicBall[]getResultBalls(){
returnresultBalls;
}
//生成結果球池
publicvoidsetResultBalls(){
Ball[]resultBalls=null;
Randomr=newRandom();
if(("red").equals(this.balls[0].getColor())){//取紅球6個
Ball[]resultRedBalls=newBall[6];
int[]nums=newint[6];
for(inti=0;i<6;i++){
intn=r.nextInt(33)+1;
intflag=0;
for(intj=0;j<6;j++){
if(n==nums[j]){
flag=flag+1;
}
}
if(flag==0){
nums[i]=n;
}
}
for(intk=0;k<6;k++){
inttip=nums[k];
resultRedBalls[k]=this.balls[tip];
}
resultBalls=resultRedBalls;
}else{//取藍球1個
Ball[]resultBlueBalls=newBall[1];
intn=r.nextInt(16)+1;
resultBlueBalls[0]=this.balls[n];
resultBalls=resultBlueBalls;
}
this.resultBalls=敗激resultBalls;
}
}
3、主方法調用
publicclassDoubleColorBall{
publicstaticvoidmain(String[]args){
//紅球池
BallPondredBalls=newBallPond();
//藍球池
BallPondblueBalls=newBallPond();
//初始化球池
redBalls.setBalls("red");
blueBalls.setBalls("blue");
//抽獎
redBalls.setResultBalls();
blueBalls.setResultBalls();
//輸出獲獎球號
System.out.println("紅球:");
for(inti=0;i<6;i++){
System.out.print(redBalls.getResultBalls()[i].getNumber()+"");
}
System.out.println(" 藍球:");
System.out.print(blueBalls.getResultBalls()[0].getNumber());
}
}
PS:主方法引用以上兩個對象的時候注意引入你對象所放位置的包
結果如下:
『貳』 學習java難不難啊
零基礎學習java
第一步,首先先學習,計算機基本原理,Java語言發展簡史,這些是最基本的常識,初學者一定要了解這些常識。
第二步:要了解java開發的環境搭建,體驗java程序員的開發環境,比如變數path和classpath的設置,java程序員的執行過程,java反編譯工具。然後了解,計算機常用進制二、八、十六的介紹,以及它們與十進制之間的相互轉化,ASCII碼。
第四步:
對象的本質,理解面向對象,類與對象的關系,在程序中如何應用面向對象的思想解決問題。
如何設計類,設計類的基本原則,類的實例化過程,類的細節:構造函數、this關鍵字、方法和方法的參數傳遞過程、static關鍵字、內部類,Java的垃極回收機制,Javadoc介紹。
對象的三大特性:封裝、繼承和多態,以及相應的Java實現:子類對象的實例化過程、方法的覆蓋、final關鍵字、抽象類、介面、繼承的優點和缺點剖析。
對象的多態性:子類和父類之間的轉換、抽象類和介面在多態中的應用、多態帶來的好處。Extensibility的理解 、Extensibility的運用。
常用設計模式:Singleton、Template、Strategy模式。
第五步:這一階段,你有很多知識點要學習。
如下:
JavaAPI介紹、Eclipse的安裝和使用、String和StringBuffer、各種基本數據類型包裝類,System和Runtime類,Date和DateFomat類等。Java Collections Framework:Collection、Set、List、ArrayList、Vector、LinkedList、Hashset、TreeSet、Map、HashMap、TreeMap、Iterator、Enumeration等常用集合類API。
IO概念,File和FileRandomAccess類,位元組流InputStream和OutputStream,字元流Reader和Writer,以及相應實現類,IO性能分析,位元組和字元的轉化流,包裝流的概念,以及常用包裝類,計算機編碼。
遞歸程序,Java的高級特性:反射、代理和泛型。
第六步:這一階段,你要開始了解多線程了!
這階段,你主要的知識點如下:
多線程的概念,如何在程序中創建多線程(Thread、Runnable),線程安全問題,線程的同步,線程之間的通訊、死鎖。Java圖形用戶介面編程(AWT、Swing),Java的事件處理機制,Java Applet簡介。Java網路編程,網路通信底層協議TCP和UDP,以及其相應的Java實現:DatagramSocket,DatagramPacket,ServerSocket,Socket編程。網路通信常用應用層協議簡介:HTTP、SMTP、POP3、MIME,以及WEB伺服器的工作原理。編寫網路聊天程序。Java正則表達式API詳解及其應用。
第七步:這一階段,你要學習html和JavaScript
主要知識點:
HTML語言,HTML語言背景知識、HTML全局標簽、格式標簽、文件標簽、超鏈接標簽、圖像標簽、客戶端圖像地圖、表格標簽、幀標簽、表單標簽、頭元素、分區標簽。CSS介紹、CSS的設置方法、樣式選擇器、樣式屬性介紹,Dreamweaver的使用。JavaScript編程,JavaScript語法、運算符、流程式控制制、函數、數組、對象、JavaScript的內部對象,JavaScript中專用於操作對象的語句。DHTML編程,理解DOM樹,DOM對象,常用DOM對象的屬性、方法和事件,編寫事件處理程序、使用DOM操作HTML文檔、遍歷文檔樹上的節點、搜索文檔中特定的元素、修改文檔內容、往文檔添加新內容、使用DOM操作XML文檔。DHTML編程的實用案例:網頁換膚、HTML表格排序等,以及JavaScript中的正則表達式及其應用。
『叄』 JAVA編程題中,四個學生小李,小張,小趙,和小王在打籃球,現在編寫一個程序,模擬他們搶籃球的過程,
ご參照してください。
public class People {
private String name;
public int num;
public People(String name) {
this.name = name;
this.num = 0;
}
public String getName() {
return this.name;
}
}
--------------------------------------------------------------------------------------------------
public class Play {
public static void main(String[] args) {
Play play = new Play();
List<People> pl = new ArrayList<People>();
pl.add(new People("小王"));
pl.add(new People("小張"));
pl.add(new People("小趙"));
pl.add(new People("小李"));
while(pl.size() > 0) {
play.challenge(pl);
}
}
private void challenge(List<People> pl) {
Random rd = new Random();
// この人はリストにのインデックス。リストは人がひとつある場合、ゼロです。
int nowPeople = pl.size() > 0 ? rd.nextInt(pl.size()) : 0;
int total = pl.get(nowPeople).num + 1;
pl.get(nowPeople).num = total;
System.out.println(pl.get(nowPeople).getName() + "搶到了,第" + total + "次球");
// 何番目でアウトする
if (total == 7) {
System.out.println(pl.get(nowPeople).getName() + "不想玩了");
pl.remove(nowPeople);
}
}
}