最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java實(shí)現(xiàn)投票程序設(shè)計(jì)

 更新時(shí)間:2015年12月15日 11:11:35   作者:luosijin123  
這篇文章主要介紹了java實(shí)現(xiàn)投票程序設(shè)計(jì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家講述了java實(shí)現(xiàn)投票程序設(shè)計(jì)代碼,分享給大家供大家參考,具體內(nèi)容如下

運(yùn)行效果圖:

程序如下:

import java.awt.*;
import java.awt.Event.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.StringTokenizer;

import javax.swing.*;

public class VoteTest implements ActionListener{
    private JFrame frame;
    private JPanel p1,p2,p3,p2_1;
    private JLabel label1,label2,label3;
    private JTextField name,votemess;
    private JTextField schoolVote[];
    private JButton com,con,sure,resh,sort;
    private Checkbox checkbox[];
    private int[] count;
    private int totalVote,schoolNumber,max,dis,giveup;
    
    public VoteTest(){
        frame=new JFrame("中國(guó)大學(xué)排行榜選票系統(tǒng)v1.0");
        
        p1=new JPanel();
        p2=new JPanel();
        p3=new JPanel();
        
        label1=new JLabel("首先輸入候選學(xué)校的名字(數(shù)量不超過(guò)10,名字之間用逗號(hào)分隔):");
        label2=new JLabel("用下面的選擇框統(tǒng)計(jì)選票:",JLabel.CENTER);
        label3=new JLabel("選舉結(jié)果:");
        
        name=new JTextField(10);
        votemess=new JTextField(46);
        schoolVote=new JTextField[10];
        
        com=new JButton("確認(rèn)");
        con=new JButton("取消");
        sure=new JButton("確定");
        resh=new JButton("刷新");
        sort=new JButton("排序");
        
        checkbox=new Checkbox[10];
        p2_1=new JPanel();
        
        count=new int[10];//記錄學(xué)校的選票數(shù)
        totalVote=0;
        schoolNumber=0;
        max=3;
        dis=0;
        giveup=0;
        
        init();
    }
    
    public void init(){
        frame.setLayout(new GridLayout(3,1));
        frame.add(p1);
        frame.add(p2);
        frame.add(p3);
        
        p1.setLayout(new BorderLayout());
        p1.add(label1,BorderLayout.NORTH);
        p1.add(name,BorderLayout.CENTER);
        JPanel p1_3;
        p1_3=new JPanel();
        p1_3.add(com);p1_3.add(con);p1_3.add(label2);
        p1.add(p1_3,BorderLayout.SOUTH);
        
        p2.setLayout(new BorderLayout());
        JPanel p2_2;
        p2_2=new JPanel();
        p2_1.setLayout(new GridLayout(2,5));
        for(int i=0;i<=9;i++){
            checkbox=new Checkbox();
            p2_1.add(checkbox);
        }
        p2_2.add(sure);p2_2.add(resh);p2_2.add(sort);
        p2.add(p2_1,BorderLayout.CENTER);
        p2.add(p2_2,BorderLayout.SOUTH);
        
        p3.setLayout(new BorderLayout());
        JPanel p3_1,p3_2;
        p3_1=new JPanel();
        p3_2=new JPanel();
        p3_1.add(label3);p3_1.add(votemess);
        p3_2.setLayout(new GridLayout(10,1));
        for(int i=0;i<=9;i++){
            schoolVote=new JTextField();
            p3_2.add(schoolVote);
        } 
        ScrollPane scroll=new ScrollPane();
        scroll.add(p3_2);
        p3.add(p3_1,BorderLayout.NORTH);p3.add(scroll,BorderLayout.CENTER);
        
        com.addActionListener(this);con.addActionListener(this);
        sure.addActionListener(this);resh.addActionListener(this);
        sort.addActionListener(this);
        
    }
    
    public void show(){
        frame.pack();
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    
    /* (non-Javadoc)
     * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
     */
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        String s[]=new String[10];
        if(e.getSource()==com){
            p2_1.removeAll();
            String s_name=name.getText();
            //提取候選的名字,名字用逗號(hào)(英文逗號(hào)或漢文逗號(hào))分隔;
            StringTokenizer fenxi=new StringTokenizer(s_name,",,");
            schoolNumber=fenxi.countTokens();//獲取候選的個(gè)數(shù)
            int i=0;
            while(fenxi.hasMoreTokens()){    //用單選框代表候選,并添加到面板p2_1
                s=fenxi.nextToken();
                p2_1.add(checkbox);
                checkbox.setLabel(s);
                i++;
            }
            for(int k=0;k<schoolNumber;k++){
                schoolVote[k].setText(null);
            }
        }else if(e.getSource()==con){
            name.setText(null);
            com.setEnabled(true);
            for(int k=0;k<schoolNumber;k++){
                schoolVote[k].setText(null);
            }
        }else if(e.getSource()==sure){
            totalVote=totalVote+1;
            com.setEnabled(false);
            int number=0;
            for(int k=0;k<schoolNumber;k++){
                if(checkbox[k].getState()){
                    number++;
                }
            }
            if(number>max){
                dis++;
                for(int k=0;k<schoolNumber;k++){
                    checkbox[k].setState(false);
                }
            }else if(number==0){
                giveup++;
            }else if(number>0&&number<=max){
                for(int k=0;k<schoolNumber;k++){
                    if(checkbox[k].getState()){
                        count[k]=count[k]+1;
                        checkbox[k].setState(false);
                        schoolVote[k].setText(checkbox[k].getLabel()+"的得票數(shù):"+count[k]);
                    }else{
                        schoolVote[k].setText(checkbox[k].getLabel()+"的得票數(shù):"+count[k]);
                    }
                }
            }
            votemess.setText("己統(tǒng)計(jì)了:"+totalVote+"張選票,其中棄權(quán)票:"+giveup+"作廢票:"+dis);
        }else if(e.getSource()==sort){
            for(int i=0;i<schoolNumber;i++){
                for(int j=i+1;j<schoolNumber;j++){
                    if(count[j]>count){
                        String str_temp=schoolVote.getText();
                        schoolVote.setText(schoolVote[j].getText());
                        schoolVote[j].setText(str_temp);
                        int nnn=count;count=count[j];count[j]=nnn;
                    }
                }
            }
            sort.setEnabled(false);sure.setEnabled(false);
        }else if(e.getSource()==resh){
            totalVote=0;
            votemess.setText("己統(tǒng)計(jì)了:"+totalVote+"張選票");
            name.setText(null);
            com.setEnabled(true);sure.setEnabled(true);sort.setEnabled(true);
            for(int i=0;i<=4;i++){
                count=0;
                schoolVote.setText(null);
                p2_1.removeAll();
            }
        }
    }

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        new VoteTest().show();
    }    

}

希望本文所述對(duì)大家學(xué)習(xí)java軟件編程有所幫助。

相關(guān)文章

  • SPRING IOC注入方式過(guò)程解析

    SPRING IOC注入方式過(guò)程解析

    這篇文章主要介紹了SPRING IOC注入方式過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Java 泛型總結(jié)(一):基本用法與類(lèi)型擦除

    Java 泛型總結(jié)(一):基本用法與類(lèi)型擦除

    本文主要介紹了Java泛型的使用以及類(lèi)型擦除相關(guān)的問(wèn)題。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • Spring中的10種事務(wù)失效的常見(jiàn)場(chǎng)景

    Spring中的10種事務(wù)失效的常見(jiàn)場(chǎng)景

    這篇文章主要介紹了Spring中的10種事務(wù)失效的常見(jiàn)場(chǎng)景,Spring的聲明式事務(wù)功能更是提供了極其方便的事務(wù)配置方式,配合Spring Boot的自動(dòng)配置,大多數(shù)Spring Boot項(xiàng)目只需要在方法上標(biāo)記@Transactional注解,即可一鍵開(kāi)啟方法的事務(wù)性配置,需要的朋友可以參考下
    2023-11-11
  • Java實(shí)現(xiàn)Map集合遍歷的四種常見(jiàn)方式與用法分析

    Java實(shí)現(xiàn)Map集合遍歷的四種常見(jiàn)方式與用法分析

    這篇文章主要介紹了Java實(shí)現(xiàn)Map集合遍歷的四種常見(jiàn)方式與用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了java針對(duì)Map集合鍵值對(duì)遍歷的常見(jiàn)使用技巧與相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2018-01-01
  • JUC系列學(xué)習(xí)工具類(lèi)CountDownLatch詳解

    JUC系列學(xué)習(xí)工具類(lèi)CountDownLatch詳解

    這篇文章主要介紹了JUC系列學(xué)習(xí)工具類(lèi)CountDownLatch詳解,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可任意參考一下
    2022-08-08
  • 深入了解SpringMVC初始化流程

    深入了解SpringMVC初始化流程

    框架源碼是我們?Coding?晉級(jí)中的必修課,SSM?應(yīng)該算是小伙伴們?nèi)粘=佑|最多的框架了,這其中?SpringMVC?初始化流程相對(duì)來(lái)說(shuō)要簡(jiǎn)單一些,因此本文就先來(lái)和大家分析一下?SpringMVC?初始化流程
    2022-07-07
  • MyBatis中如何獲取Oracle序列

    MyBatis中如何獲取Oracle序列

    文章介紹了在使用MyBatis時(shí),如何通過(guò)獲取序列的下一個(gè)值來(lái)完成某些功能操作,并在之后進(jìn)行數(shù)據(jù)的添加操作,文中特別強(qiáng)調(diào)了在獲取序列值后不能單獨(dú)執(zhí)行插入操作,否則會(huì)報(bào)錯(cuò)
    2024-12-12
  • java中添加按鈕并添加響應(yīng)事件的方法(推薦)

    java中添加按鈕并添加響應(yīng)事件的方法(推薦)

    下面小編就為大家?guī)?lái)一篇java中添加按鈕并添加響應(yīng)事件的方法(推薦)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-04-04
  • SpringBoot實(shí)現(xiàn)過(guò)濾敏感詞的示例代碼

    SpringBoot實(shí)現(xiàn)過(guò)濾敏感詞的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用SpringBoot實(shí)現(xiàn)過(guò)濾敏感詞功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動(dòng)手嘗試一下
    2022-08-08
  • 使用Spring AOP監(jiān)控指定方法執(zhí)行時(shí)間的代碼詳解

    使用Spring AOP監(jiān)控指定方法執(zhí)行時(shí)間的代碼詳解

    這篇文章主要介紹了使用Spring AOP監(jiān)控指定方法執(zhí)行時(shí)間,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-08-08

最新評(píng)論

象山县| 永登县| 南溪县| 新野县| 潼南县| 仙游县| 青阳县| 台中市| 咸阳市| 望谟县| 霍山县| 正宁县| 龙游县| 庄浪县| 包头市| 正阳县| 冷水江市| 玉林市| 赣州市| 晋宁县| 富锦市| 和平县| 肃北| 綦江县| 合川市| 荔浦县| 家居| 贵定县| 章丘市| 哈尔滨市| 奉贤区| 滨海县| 长子县| 辉县市| 新干县| 讷河市| 米脂县| 乐安县| 田阳县| 酒泉市| 班戈县|