发新话题
打印

【原创】一个用Java写的福彩的小程序

【原创】带头先发程序原代码,一个用Java写的福彩的小程序

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.*;
import java.io.*;
import java.text.*;


public class Mather{
public static void main(String args[]){
JFrame frame = new JFrame("Mather");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JTabbedPane tp = new JTabbedPane();
tp.addTab("Mather",new MathsRandom());

frame.getContentPane().add(tp);
frame.pack();
frame.show();
frame.setResizable(false);

}
}

class MathsRandom extends Panel{
public MathsRandom(){

setLayout(new BorderLayout());
add(new Centers(),BorderLayout.CENTER);
add(new Center(),BorderLayout.CENTER);

}
}

class Centers extends Panel{
public Centers(){
JLabel lbl1 = new JLabel("Welcome to MathsRandom");
add(lbl1);
}
}

class Center extends Panel{
JTextField txt1,txt2,txt3,txt4,txt5,txt6,txt7,txtTotal;
JButton btstart,btrestart;
public Center(){
setLayout(new GridLayout(10,2));
JLabel lbl1 = new JLabel("First Ball Maths");
JLabel lbl2 = new JLabel("Second Ball Maths");
JLabel lbl3 = new JLabel("Third Ball Maths");
JLabel lbl4 = new JLabel("Fourth Ball Maths");
JLabel lbl5 = new JLabel("Fivth Ball Maths");
JLabel lbl6 = new JLabel("Sixth Ball Maths");
JLabel lbl7 = new JLabel("Seven Ball Maths");

txt1 = new JTextField();
txt1.setEnabled(false);
txt2 = new JTextField();
txt2.setEnabled(false);
txt3 = new JTextField();
txt3.setEnabled(false);
txt4 = new JTextField();
txt4.setEnabled(false);
txt5 = new JTextField();
txt5.setEnabled(false);
txt6 = new JTextField();
txt6.setEnabled(false);
txt7 = new JTextField();
txt7.setEnabled(false);
txtTotal = new JTextField();
txtTotal.setEnabled(false);

btstart = new JButton("Start");
btrestart = new JButton("Restart");

add(lbl1);
add(txt1);

add(lbl2);
add(txt2);

add(lbl3);
add(txt3);

add(lbl4);
add(txt4);

add(lbl5);
add(txt5);

add(lbl6);
add(txt6);

add(lbl7);
add(txt7);

add(new JLabel());
add(new JLabel());

add(new JLabel("Total"));
add(txtTotal);


add(btstart);
add(btrestart);



btstart.addActionListener(new ButtonAction());
btrestart.addActionListener(new ButtonActions());
}
class ButtonAction implements ActionListener{
public void actionPerformed(ActionEvent e){
int arr[]=new int[7];
int i;
int j;
int k;
int a=0;
int m=0;
boolean flag;
for(i=0;i<7;i++)
{
m=(int)(Math.random()*35);
if(m<=0 || m>34)
{
continue;
}
else
{
arr=m;
}
}
for(i=0;i<7;i++)
{
for(j=i+1;j<7;j++)
{
if(arr==arr[j])
{
arr[j]=(int)(Math.random()*35);
}
else{}
}
}
for(i=0;i<7;i++)
{
for(j=i+1;j<7;j++)
{
if(arr>arr[j])
{
k=arr;
arr=arr[j];
arr[j]=k;
}
}
}
txt1.setText(String.valueOf(arr[0]));
txt2.setText(String.valueOf(arr[1]));
txt3.setText(String.valueOf(arr[2]));
txt4.setText(String.valueOf(arr[3]));
txt5.setText(String.valueOf(arr[4]));
txt6.setText(String.valueOf(arr[5]));
txt7.setText(String.valueOf(arr[6]));
txtTotal.setText(String.valueOf(arr[0]+","+arr[1]+","+arr[2]+","+arr[3]+","+arr[4]+","+arr[5]+","+arr[6]));
}
}
class ButtonActions implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
txt1.setText(String.valueOf(""));
txt2.setText(String.valueOf(""));
txt3.setText(String.valueOf(""));
txt4.setText(String.valueOf(""));
txt5.setText(String.valueOf(""));
txt6.setText(String.valueOf(""));
txt7.setText(String.valueOf(""));
txtTotal.setText(String.valueOf(""));
}
}
}

这是我本人自己写的一个福彩的小程序,希望大家多看看,有兴趣的朋友可以研究研究,程序中还有很多不完美的地方,比如注译我也没有加什么的,程序中的一个BUG就是第一个数字有可能会出现0,我知道福彩是没有0这个数字的,大家也可以把我的程序改改再发上来,希望以后有更多的人能把自己写的程序发上来让大家共享,毕竟Linux就是开放的      

TOP

版主大哥,我收下了你的代码,研究下,争取把你的BUG改过来,哈哈
有什么不懂我向你请教阿      

TOP

你的算法有点问题
for(i=0;i<7;i++)
{
m=(int)(Math.random()*35);
if(m<=1 || m>34)
{
i--;
continue;
}
else
{
arr=m;
}
}///the for .. is over
应该是这样的,在 continue之前加一句i--,因为你在没有赋值的情况下就对i进行加操作,导致此处arr没有传值,结果就理当成了0
还有你的数字不重复也有点问题,
for(i=0;i<7;i++)
{
for(j=i+1;j<7;j++)
{
if(arr==arr[j])
{
arr[j]=(int)(Math.random()*35);
}
else{}
}
}
这样仍旧有可能相同
最好如下处理
for(i=0;i<7;i++)
{

for(j=i+1;j<7;j++)
{
while(arr==arr[j])
{
arr[j]=(int)(Math.random()*35);
}
}
}
这样就不可能相同了

最后一个建议,公共类最好拆成两个,把JFrame单独分成一个类,程序就有条理多了
(你的括号和标注不规范)      

TOP

看来楼上的高手,有空一起研究研究。      

TOP

好啊,多谢版主看得起
qq:185511941      

TOP

发新话题