您的位置:首页 > 编程语言 > Java开发

Java编写的双色球计算器(不使用IDE)

2011-08-03 21:19 375 查看
编辑器使用Emacs

构建使用Ant

编程语言使用Java

一个简单的随机双色球号码生成器,写着玩的

Ant文件

<?xml version="1.0" encoding="UTF-8"?>
<project name="DoubleColorBalls" default="RunApp" basedir=".">

<!--dir properties-->
<property name="srcDir" location="src" />
<property name="classesDir" location="classes" />
<property name="binDir" location="bin" />
<!--warning:the jarName is "value",not "location"-->
<property name="jarName" value="DoubleColorBalls.jar"/>
<property name="packageName" location="${srcDir}\com\zr\${ant.project.name}"/>

<!--CreateDirs-->
<target name="CreateDirs">
<mkdir dir="${packageName}" />
<mkdir dir="${classesDir}" />
<mkdir dir="${binDir}" />
</target>

<!--DeleteDirs-->
<target name="DeleteDirs">
<delete dir="${srcDir}" />
<delete dir="${classesDir}" />
<delete dir="${binDir}" />
</target>

<!--Compile-->
<target name="Compile" depends="CreateDirs">
<javac srcdir="${srcDir}" destdir="${classesDir}"/>
</target>

<target name="RunApp" depends="Compile">
<jar destfile="${binDir}/${jarName}" basedir="${classesDir}">
<manifest>
<attribute name="Main-Class" value="com.zr.DoubleColorBalls.DCB_Main"/>
</manifest>
</jar>
</target>
</project>


Java文件:主函数

package com.zr.DoubleColorBalls;

import javax.swing.*;

public class DCB_Main{
public static void main(String[] args){
// DCB_Frame frame=new DCB_Frame();
JFrame frame=new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new DCB_Panel());
frame.setSize(600,100);
frame.setTitle("双色球计算器");
frame.setVisible(true);
}
}


Java文件:Swing的JPanel

package com.zr.DoubleColorBalls;

import javax.swing.*;
import java.awt.*;
import javax.swing.border.*;
import java.awt.event.*;
import java.util.Arrays;

class DCB_Panel extends JPanel{

//DataGenerator
private DataGenerator generator=null;

//gui
private GridLayout gridLayout=new GridLayout(1,7);
private JLabel redLabels[]=new JLabel[6];
private JLabel blueLabel=new JLabel();
private JButton runButton=new JButton("Run");

//constructor
public DCB_Panel(){
super();
generator=new DataGenerator();
setLayout(gridLayout);

//add red JLabels
for(int i=0;i<redLabels.length;i++){
redLabels[i]=new JLabel();
redLabels[i].setBorder(new EtchedBorder());
redLabels[i].setBackground(Color.red);
add(redLabels[i]);
}

//add blue JLabel
blueLabel.setBorder(new EtchedBorder());
blueLabel.setBackground(Color.blue);
add(blueLabel);

//add JButton
add(runButton);
runButton.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent event){
Font font=new Font("Courier",Font.BOLD,30);
int red[]=new int[6];
int blue=0;
generator.generateData();
red=generator.getRedBallsArray();
Arrays.sort(red);
blue=generator.getBlueBall();
for(int i=0;i<red.length;i++){
redLabels[i].setHorizontalAlignment(JLabel.CENTER);
redLabels[i].setFont(font);
redLabels[i].setText(red[i]+"");
}
blueLabel.setFont(font);
blueLabel.setHorizontalAlignment(JLabel.CENTER);
blueLabel.setText(blue+"");
}
});
}
}


Java文件:随机生成号码的类

package com.zr.DoubleColorBalls;

import java.util.Random;
import java.util.Arrays;

class DataGenerator{
private int redBallsArray[]=new int[6];
private int blueBall=0;
private Random randomRed=new Random();
private Random randomBlue=new Random();

public DataGenerator(){
//clear the red and blue balls array
for(int i=0;i<redBallsArray.length;i++){
redBallsArray[i]=34;
}
blueBall=17;
}

public boolean isInRed(int temp){
for(int i=0;i<redBallsArray.length;i++){
if(temp==redBallsArray[i]){
return true;
}
}
return false;
}

//call red and blue ball generator
public void generateData(){
//generate red balls
for(int i=0;i<redBallsArray.length;i++){
redBallsArray[i]=generateRed(randomRed);
}
blueBall=generateBlue(randomBlue);
}

//generate red ball
public int generateRed(Random r){
int temp=r.nextInt(34);
while(isInRed(temp)==true || temp==0){
temp=generateRed(r);
}
return temp;
}

//generate blue ball
public int generateBlue(Random r){
int temp=r.nextInt(17);
while(temp==0){
temp=generateBlue(r);
}
return temp;
}

//getter
public int[] getRedBallsArray(){
return redBallsArray;
}

public int getBlueBall(){
return blueBall;
}
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: