當前位置:首頁 » 編程語言 » java籃球

java籃球

發布時間: 2023-11-02 07:26:40

『壹』 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);
}
}

}

熱點內容
諾安成長與鑫靈活配置哪個好 發布:2025-01-31 19:58:54 瀏覽:604
b樹磁碟存儲 發布:2025-01-31 19:42:53 瀏覽:837
聯想小新air15怎麼配置環境 發布:2025-01-31 19:06:57 瀏覽:968
什麼配置玩3a 發布:2025-01-31 19:05:22 瀏覽:586
phpoa系統 發布:2025-01-31 18:58:42 瀏覽:10
值e的編程 發布:2025-01-31 18:57:06 瀏覽:977
安卓手機的軟體認證在哪裡 發布:2025-01-31 18:57:01 瀏覽:535
android彈出來 發布:2025-01-31 18:56:56 瀏覽:232
辦公室白領新解壓方法 發布:2025-01-31 18:55:23 瀏覽:558
摩斯密碼短長是什麼意思 發布:2025-01-31 18:50:17 瀏覽:587