⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lottery.java

📁 一款彩票自动生成号码的程序 可直接运行方便产生号码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
					case 2:Storeroom.write(atf1.getText());
							Storeroom.write(atf2.getText());break;
							//如果是2,就调用自定以方法Storeroom下的静态方法2次
							//分别把文本1和文本2中的信息传过去
							//通过调用这个方法2次把这2个文本中的字符串写入数据库
							//以下同理
					case 3:Storeroom.write(atf1.getText());
							Storeroom.write(atf2.getText());
							Storeroom.write(atf3.getText());break;

					case 4:Storeroom.write(atf1.getText());
							Storeroom.write(atf2.getText());
							Storeroom.write(atf3.getText());
							Storeroom.write(atf4.getText());break;


					default:Storeroom.write(atf1.getText());
							Storeroom.write(atf2.getText());
							Storeroom.write(atf3.getText());
							Storeroom.write(atf4.getText());
							Storeroom.write(atf5.getText());break;
				}
			}
		}
	}

//------------------------------------------------------------------------------------------------
	public static void main(String[] args)		//主函数
	{
		new Lottery();
	}
}


//***********************************************************************************************
//-----------------------------------------------------------------------------------------------
//***********************************************************************************************


class algo		//返回1-35的随机数的类
{
	static String[] great(int a)	//定义反回多组随机数的静态方法
									//(可以类名.直接调用),形参为要几组随机数
	{
		String str[]=new String [a];
				//定义要返回的数组(形参a为数组长度)
		String m[]=new String[7];
				//定义中转int用的数组

		for(int k=0;k<a;k++)	//需要几组数就循环几次
		{
			str[k]="";		//让字符数组中的每个字符串都为空;
			int q[]=new int[7];		//获取随机数用的数字数组

			for(int i=0;i<7;i++)	//循环7次获取7个随机数
			{
				q[i]=(int)(Math.random()*35)+ 1;	//获得一个随机数赋给数字数组中的每个元素

				for(int j=0;j<i;j++)	//判断随机数是否与之前每次的数相同
				{
					if( q[i]==q[j])		//如果相同
					{
						i=i-1;			//就重复这次循环
						break;
					}
				}
			}

			for(int i=0;i<7;i++)		//通过循环把数数字组中的随机数赋给字符数组
			{
				m[i]=String.valueOf(q[i]);	//把获得的每个int数组转成字符串

				if(m[i].length()==1)	//如果字符串是个位数,说明int值是1位
				{
					m[i]="0"+m[i];		//就在这个数的前面加上0
				}
				str[k]=str[k]+m[i]+"  ";	//然后加给总的字符串
			}
		}
		return str;//把总的字符数组返回
	}

//----------------------------------------------------------------------------------------------

	static String great1()		//定义反回一组随机数的静态方法
	{
		String str=new String("");
		String m[]=new String[7];
						//定义中转int用的数组

		int q[]=new int[7];		//获取随机数用的数字数组

		for(int i=0;i<7;i++)	//循环7次获取7个随机数
		{
			q[i]=(int)(Math.random()*35)+ 1;	//获得一个随机数赋给数字数组中的每个元素

			for(int j=0;j<i;j++)	//判断随机数是否与之前每次的数相同
			{
				if( q[i]==q[j])		//如果相同
				{
					i=i-1;			//就重复这次循环
					break;
				}
			}
		}

		for(int i=0;i<7;i++)		//通过循环把数数字组中的随机数赋给字符数组
		{
			m[i]=String.valueOf(q[i]);	//把获得的每个int数组转成字符串

			if(m[i].length()==1)	//如果字符串是个位数,说明int值是1位
			{
				m[i]="0"+m[i];		//就在这个数的前面加上0
			}
			str=str+m[i]+"  ";
		}
	
		return str;//把总的字符数组返回
	}
}

//********************************************************************************************
//--------------------------------------------------------------------------------------------
//********************************************************************************************


class log		//定义文件读写类
{
	static File file;
	static RandomAccessFile raf;

	static void write_log(String str,FileDialog save)	//定义静态写入方法
	{													//把所有的文本字符串和FileDialog当形参
		try
		{
			file=new File(save.getDirectory(),save.getFile());
				//新建文件			//getDirectory()方法获得文件路径
									//getFile()获得所选的文件

			raf=new RandomAccessFile(file,"rw");
				//用RandomAccessFile类创建文件写入的管道.定义文件为可读可写

			raf.seek( raf.length() );
			//从最大的长度之后开始写

			byte[] bt;
			bt=str.getBytes("GB2312");			//转成简体中文
			raf.write(bt);
			raf.writeBytes("---------------------------------"+"\r\n");

		}catch(Exception ee){}
	}

//----------------------------------------------------------------------------------------------

	static String read_log(String str)			//定义静态的读取方法
	{											//把开奖号码当形参传过来

		int z1=0;		//为1等奖计数的数
		int z2=0;		//为2等奖计数的数
		int z3=0;		//为3等奖计数的数
		int z4=0;		//为4等奖计数的数
		
		int flag=0;			//为特等奖计数的数

		long money=0;		//本期彩票的总钱数

		String sq;			//读取每行文件所返回的字符串
		try
		{

			raf=new RandomAccessFile(file,"rw");

			while( (sq=raf.readLine()) != null )	//如果文件里面还有字符串,就继续循环
			{
				int zzz=0;	//为文件中每一组数字与大奖中每一组数字是否对应计数的数

				if(!sq.equals(""))		//如果文件中的一行信息不是回车(\r\n);
				{
					for(int i=0;i<28;i=i+4)	//截取一组文件里字符串所用的循环
					{
						for(int j=0;j<28;j=j+4)	//截取一组大奖字符串所用的循环
						{
							if( (sq.substring(i,i+4)).trim().equals( (str.substring(j,j+4)).trim()) )
							{	//如果文件里面所截取的字符串=大奖里面的任何一组截取的字符串
								zzz++;	//就让累数工具累加1个数
							}
						}
					}
					if(zzz==7)//如果累数工具累加了6个数.说明此号码是与大奖完全相同的
					{
						flag++;	//让累加大奖的数累加
					}
					if(zzz==6)//如果累数工具累加了6个数.说明此号码有6组数是与大奖相同的
					{
						z1++;	//就累加1个中1等奖的人数
					}
					if(zzz==5)//如果累数工具累加了5个数.说明此号码有5组数是与大奖相同的
					{
						z2++;	//就累加1个中2等奖的人数
					}
					if(zzz==4)	//以下同理
					{
						z3++;
					}
					if(zzz==3)
					{
						z4++;
					}
				}
			}

			money=(flag*5000000)+(z1*1000000)+(z2*100000)+(z3*50000)+(z4*10000);
											//计算总的钱数
		
		}catch(Exception ee)
		{
			return "请在点保存和摇奖之后再点开奖!"+"本期无人购买彩票!";
		}

		return "本期中奖号码为:"+str+"\r\n"+
						"           【特等奖】为:         "+flag+"注\r\n"+
						"1等奖(有6组数字对应上的)为:"+z1+"注\r\n"+
						"2等奖(有5组数字对应上的)为:"+z2+"注\r\n"+
						"3等奖(有4组数字对应上的)为:"+z3+"注\r\n"+
						"4等奖(有3组数字对应上的)为:"+z4+"注\r\n"+
						"    〖总的中奖资金〗为"+money+"RMB!";
				//把所有的信息加成1个大字符串返回给窗体显示
	}
}

//**********************************************************************************************
//----------------------------------------------------------------------------------------------
//**********************************************************************************************

class Storeroom		//定义向数据库写入字符串的类
{
	static Connection con;
	static Statement  stmt;
	//static ResultSet  rs;

	public static void write(String str)		//具体写入的方法
	{												//(要写入字符串当形参)
		try
		{
		Class.forName("oracle.jdbc.driver.OracleDriver");
										//获得oracle驱动程序
		con=DriverManager.getConnection("jdbc:oracle:thin:@10.0.227.30:1521:tata","scott","tiger");
									//连接数据库(ip地址,端口,sid,登陆名字,登陆密码)
		System.out.println("Connection success");
									//提示连接成功信息

		stmt=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
									//创建可执行sql语句(双向滚动.同时可见)

		}catch(Exception ee1){System.out.println(ee1);}

		try
		{
			stmt.executeUpdate("insert into caipiao values("+"'"+str+"'"+")");
									//把形参字符串写入数据库

		}catch(Exception ee2){System.out.println(ee2);}
	}

}

//**********************************************************************************************
//----------------------------------------------------------------------------------------------
//**********************************************************************************************

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -