欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java多線程、進(jìn)度條實(shí)現(xiàn)賽馬實(shí)驗(yàn)的示例代碼

 更新時(shí)間:2020年11月02日 14:29:04   作者:shallwe?  
這篇文章主要介紹了Java多線程、進(jìn)度條實(shí)現(xiàn)賽馬實(shí)驗(yàn)的示例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

賽馬

下周一就要去做java實(shí)驗(yàn)了,還記得上一次實(shí)驗(yàn)還有一個(gè)程序沒寫完,匆匆交了實(shí)驗(yàn)報(bào)告的半成品(希望老師沒發(fā)現(xiàn)www)。為了下周一能有更充裕的時(shí)間在實(shí)驗(yàn)課寫代碼,我搜了一下我們學(xué)校的實(shí)驗(yàn)報(bào)告。嘿,寧猜怎么著!還真有16年的實(shí)驗(yàn)報(bào)告。雖然有點(diǎn)不太一樣,但題目大多是相同的,于是我就開始寫。
這是有關(guān)賽馬的一個(gè)程序,題目如下:編寫一個(gè)多線程的控制程序,稱為賽馬程序。創(chuàng)建分別代表兩匹馬的兩個(gè)線程,并將它們設(shè)置為高低不同的優(yōu)先級,并以進(jìn)度條的形式顯示賽馬過程。
以下是我經(jīng)過多方學(xué)習(xí)寫出的代碼,希望大佬斧正。
(文章寫得有點(diǎn)隨意,畢竟我也是個(gè)隨便的人www)

import javax.swing.*;
import java.awt.*;
public class Test 
{
  static Thread threadObj1;
  static Thread threadObj2;
  JFrame frame;
  JPanel panel;
  JLabel label1,label2;
  static JLabel label3;
  static JProgressBar progressBar1;
	static JProgressBar progressBar2;
  public static void main(String[] args)
  {
  	Test test=new Test();
  	test.go();
    threadObj1=new ThreadClass1();
    threadObj2=new ThreadClass2();
    threadObj1.setPriority(6);
    threadObj2.setPriority(4);
    threadObj1.start();
    threadObj2.start();
  }
  void go() 
  {
    frame=new JFrame("賽馬");
    panel=new JPanel();
    panel.setLayout(new GridLayout(2,2));
    label1=new JLabel("一號馬");
    label2=new JLabel("二號馬");
    label3=new JLabel("加油!");
    progressBar1 = new JProgressBar(SwingConstants.HORIZONTAL,0,100);
    progressBar1.setStringPainted(true);
    progressBar2 = new JProgressBar(SwingConstants.HORIZONTAL,0,100);
    progressBar2.setStringPainted(true);
    panel.add(label1);
    panel.add(progressBar1);
    panel.add(label2);
    panel.add(progressBar2);
    frame.getContentPane().add(panel,BorderLayout.CENTER);
    frame.getContentPane().add(label3,BorderLayout.SOUTH);
    frame.setSize(300, 100);
    frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    frame.setVisible(true);
  }
}
class ThreadClass1 extends Thread
{
	public void run()
	{
		while(Test.progressBar1.getValue()<100)
		{
			Test.progressBar1.setValue(Test.progressBar1.getValue()+1);
			System.out.println(Test.progressBar1.getValue());
			try{
				Thread.sleep((int)(Math.random()*300+100));
			}catch(InterruptedException e) {}
		}
		if(Test.progressBar1.getValue()==100 && Test.progressBar2.getValue()!=100)
			Test.label3.setText("勝利者:1號馬!");
	}
}

class ThreadClass2 extends Thread
{
	public void run()
	{
		while(Test.progressBar2.getValue()<100)
		{
			Test.progressBar2.setValue(Test.progressBar2.getValue()+1);
			System.out.println(Test.progressBar2.getValue());
			try{
				Thread.sleep((int)(Math.random()*300+100));
			}catch(InterruptedException e) {}
		}
		if(Test.progressBar2.getValue()==100 && Test.progressBar1.getValue()!=100)
			Test.label3.setText("勝利者:2號馬!");
	}
}

到此這篇關(guān)于Java多線程、進(jìn)度條實(shí)現(xiàn)賽馬實(shí)驗(yàn)的示例代碼的文章就介紹到這了,更多相關(guān)Java賽馬實(shí)驗(yàn)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文掌握maven??filtering標(biāo)簽

    一文掌握maven??filtering標(biāo)簽

    這篇文章主要介紹了maven??filtering標(biāo)簽,本文通過三種方法給大家講解maven?filtering標(biāo)簽,結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Spring Boot 2.X快速整合jpa過程解析

    Spring Boot 2.X快速整合jpa過程解析

    這篇文章主要介紹了Spring Boot 2.X 如何快速整合jpa?,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 結(jié)合Mybatis聊聊對SQL注入的見解

    結(jié)合Mybatis聊聊對SQL注入的見解

    這篇文章主要介紹了結(jié)合Mybatis聊聊對SQL注入的見解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Spring?Boot?打包如何將依賴全部打進(jìn)去

    Spring?Boot?打包如何將依賴全部打進(jìn)去

    這篇文章主要介紹了Spring?Boot?打包如何將依賴全部打進(jìn)去,在pom.xml中引入插件,需要在項(xiàng)目的pom.xml文件中,添加?Maven?插件??spring-boot-maven-plugin,本文結(jié)合實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-09-09
  • java語言中封裝類代碼示例

    java語言中封裝類代碼示例

    這篇文章主要介紹了java語言中封裝類,涉及相關(guān)代碼示例及結(jié)果分析,以及封裝的好處簡單介紹,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Jenkins+Git+Maven自動(dòng)化部署配置詳解

    Jenkins+Git+Maven自動(dòng)化部署配置詳解

    本文主要介紹了Jenkins+Git+Maven自動(dòng)化部署配置詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • Spring Cloud CLI簡單介紹

    Spring Cloud CLI簡單介紹

    本文我們將介紹Spring Boot Cloud CLI(或簡稱Cloud CLI)。該工具為Spring Boot CLI提供了一組命令行增強(qiáng)功能,有助于進(jìn)一步抽象和簡化Spring Cloud部署。感興趣的小伙伴們可以參考一下
    2018-12-12
  • ActiveMQ安裝及部署教程圖解

    ActiveMQ安裝及部署教程圖解

    這篇文章主要介紹了ActiveMQ安裝及部署教程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • 如何使用spring gateway微服務(wù)網(wǎng)關(guān)(基本用法)

    如何使用spring gateway微服務(wù)網(wǎng)關(guān)(基本用法)

    本文介紹spring gateway的使用,包括配置文件的使用和調(diào)試跟蹤,讓大家了解spring gateway的基本用法,感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • 在Mybatis使用Integer與''進(jìn)行比較的坑及解決

    在Mybatis使用Integer與''進(jìn)行比較的坑及解決

    這篇文章主要介紹了在Mybatis使用Integer與''進(jìn)行比較的坑及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03

最新評論