JAVA程序设计课程设计

1.小学数学练习
1.1 设计题目:小学数学练习
1.2 问题描述:
编写一个帮助小学生练习数学的程序,帮助小学生练习 100 以内的四种数学运算:加、减、乘、除。
1.3 问题分析:

a) 程序应先询问用户的 ID 号(ID 号包括两个大写字母和 4 位数字)

程序应对输入的 ID 号验证,符合 ID 号要求的格式,然后程序提示三种选择:

(1)开始测试

(2)检查分数

(3)退出

b) 测试:该程序将给出 10 道数学题

注意:

i)学生将依次回答每一个问题(在等于号后面给出答案),然后给出下一道题。

ii)试题应包含四种数学运算:加、减、乘、除,它们是随机产生的。相邻的问题应该是不同的操作,

每个操作必须至少出现一次。报告中应给出实现方法或算法

iii)为每道题随机生成数字,但必须确保参与运算的数字和结果都小于 100 且大于零的整数,除法时

还要注意两个整数要能整除。报告中应给出实现方法或算法

iv)十道题做完后,记录学生完成这十道题所用的时间。

v)给每个学生一个分数。将该学生的 ID、成绩和使用时间保存到一个名为 record.txt 的文件中。

vi)在屏幕上输出以下信息:(3 列信息,第 1 列是 b)中的测试题,蓝色部分)

问题 | 正确答案 | 你的答案 c) 成绩检查:从文件“record.txt”中列出该学生的所有历史成绩(其他学生的不显示)。
1.5 测试实例及运行结果:
1.6 源程序清单:

#include <time.h>//时间库函数

#include <stdlib.h>//标准输入输出头文件

#include <stdio.h>//输入输出函数

#include <windows.h>//写windows的重要头文件

#include <shlwapi.h>//定义控制台应用程序的入口点

//判断用户名是否合法

int check(char ID[]) //判断输入用户名是否合法

{

int j=0,k=0;

char *p;

p=ID;

while(*p!='\0') //字符串存储时后面自动补0

{

if((*p>='A')&&(*p<='Z'))

j++;

else if((*p>='0')&&(*p<='9'))

k++;

p++;

}

return (j==2&&k==4?1:0);

}

void store(char ID[],int score,int time){ //存储ID、成绩、答题时间

FILE *fp;

    fp=fopen("record.txt","a+");  //a+只打开,不新建新的文件

    if(fp==NULL)

    {

     fp=fopen("record.txt","w");

    }

  fprintf(fp,"%s\t%d\t%d秒\n",ID,score,time);

    fclose(fp);

}

void read_file(char new_ID[]){ //读取以前的记录

char ID[100];

int score,time;

FILE *fp;

    fp=fopen("record.txt","r");

    if(fp==NULL)

    {

     printf("新玩家,没有做题记录\n");

     exit(1);

    }

     while(!feof(fp)){

     fscanf(fp,"%s\t%d\t%d秒\n",ID,&score,&time);

        if(strcmp(new_ID,ID)==0){

     printf("%s\t%d\t%d秒\n",ID,score,time);

}

}

    fclose(fp);

}

int main()

{

char ID[100];

srand((unsigned long)time(0));

clock_t start,end;  

int w=0,j=0,k=0;

char t[10];

int a,b,c,d,score,i;

while(!k){

printf("请输入用户ID号:");

gets(ID);

k=check(ID);

if(k==0)

printf("ID不规范,Input again\n");

}

printf("ID:%s通过检查\n请玩家请做好准备,即将开始旅程\n",&ID);

printf("输入提示:\n(1)开始测试\n(2)检查分数\n(3)退出\n");

LOOP:

scanf("%d",&w);

switch(w){

case 3:

printf("游戏结束\n");

printf("等待下次见面\n");

exit(1);

break;

case 2:

printf("你以前的记录是:\n");

read_file(ID);

printf("输入提示:\n(1)继续测试\n(2)检查分数\n(3)退出\n");

goto LOOP;

break;

case 1:

char answer[10][100];

j=0;  //必须重新复制为0,要不第二次时会因判断跳过做题循环

start=0;

end=0;

start = clock(); //计时开始

while(j<10){ //10道加减乘除题目

a=rand()%101;

b=rand()%101;

c=rand()%4;

switch(c)    

{

case 3:t[i]='/';break;

case 2:t[i]='*';break;

case 1:t[i]='-';break;

case 0:t[i]='+';break;

}

if(i>0){                    //数,剔,积,记后发现同数组法概率同,则概率分布亦。NICE

    while(t[i]==t[i-1]){          //或temp函数goto

       c=rand()%4;

     switch(c){

         case 3:t[i]='/';break;

         case 2:t[i]='*';break;

        case 1:t[i]='-';break;

         case 0:t[i]='+';break;}

                   }

       }

if(i>7){int m,n=0;

while(i<8){int k,m,n=0;

           if(t[k]==t[0]) m++;

           if(t[k]==t[1]) n++;}

if((m+n)==8){

      while(t[i]==t[0]||t[i]==t[1]){

         c=rand()%4;

            switch(c){

             case 3:t[i]='/';break;

           case 2:t[i]='*';break;

          case 1:t[i]='-';break;

           case 0:t[i]='+';break;}

                               }

if(i>8){

      while(t[i]==t[0]||t[i]==t[1]||t[i]==t[8]){

         c=rand()%4;

            switch(c){

             case 3:t[i]='/';break;

           case 2:t[i]='*';break;

          case 1:t[i]='-';break;

           case 0:t[i]='+';break;}

                               }

}

            }

         }

switch(c)    //case里continue 更好

{

case 3:while(a%b!=0) a=rand()%101,b=rand()%101,d=a/b; break;

case 2:while(a*b>100) a=rand()%101,b=rand()%101,d=a*b; break;

case 1:while(a-b<0) a=rand()%101,b=rand()%101,d=a-b; break;

case 0:while(a+b>100) a=rand()%101,b=rand()%101,d=a+b; break;

}

printf("%d%c%d=",a,t[i],b);

scanf("%d",&c);

sprintf(answer[j],"%d%c%d\t%d\t  %d",a,t[i],b,d,c); //直接输入数组一行

if(c==d)

{

printf("正确!+10分\n");

score+=10;

}else

printf("错啦~\n");

j++;

i++;

}

end = clock();  //计时结束

int time=(int)(end-start)/CLOCKS_PER_SEC;

printf("答题结束\n");

printf("玩家分数为:%d,所用时间为%ds\n",score,time);

printf("问题 | 正确答案 | 你的答案\n");

for(int i=0;i<10;i++){

puts(answer[i]);

}

store(ID,score,time);

printf("输入提示:\n(1)继续测试\n(2)检查分数\n(3)退出\n");

goto LOOP;

break;

}

}

2. 石头剪刀布游戏 
2.1 设计题目:石头剪刀布游戏

2.2 问题描述:
用 JAVA 语言设计如下界面的石头剪刀布游戏。游戏的一方点击界面上石头、剪刀、布按钮,游戏的 另一方计算机随机选择,然后给出游戏结果。
2.3 问题分析:
准确性:在实现过程中,我们要考虑到如何去判断,准确地知道哪方是赢家

简洁性:在实现过程中,我们要考虑到,怎样使游戏界面更简洁
使用GUI布局,创建两个面板,四个按钮,每个按钮添加事件监听器,使用随机函数判断电脑的结果,设置窗体的大小,位置。按钮和面板在窗体中的位置,设置面板的背景颜色。定义事件的接口方法使按钮能对事件做出反应。
2.4 功能实现
1. 在“//”后给出必要的注释;

2.为程序添加菜单;至少 2 个菜单:结果显示方式和关于游戏;结果显示方式菜单有 3 个菜单项:文本 显示、图形显示、结束游戏;实现菜单中的功能,自行搜索能体现石头、剪刀、布的图形或图片,用 这些图形或图片显示游戏结果。                                                                                                          
2.5 测试实例及运行结果:
2.6 源程序清单
 

package shitoujidanobu;

import java.awt.*;//引入抽象窗口工具类包

import java.awt.event.*;//引入事件

import javax.swing.*;//引入组件



//定义一个窗口类,该类实现 ActionListener 接口;

public class shitoujiandaobu extends JFrame implements ActionListener{

JButton shitou,jiandao,bu,clear; //定义 JButton 对象

JPanel north,center,west,east,south; //定义 JPanel 对象

JLabel label,imgLabel1,imgLabel2,label2; // 定义JLable 对象

JMenuBar mbar;

JMenu show;

JMenuItem text,image,end,about;

JDialog dlg;

                //石头剪刀布的图片路径

static String STPATH = "D:\\桌面\\图片\\s.jpg",JDPATH = "D:\\桌面\\图片\\j.jpg",BUPATH="D:\\桌面\\图片\\b.jpg";

int status = 0;

public shitoujiandaobu() {

setTitle("石头剪刀布游戏"); //设置窗体标题,修改标题为“石头剪刀布游戏”;

setDefaultCloseOperation(EXIT_ON_CLOSE); //设置窗体关闭按钮

setBounds(250, 250, 350, 350);  //设置窗体左上顶点坐标;设置窗体大小,修改窗体大小为:350×350;



dlg = new JDialog(this,"about");

dlg.setBounds(325, 375, 200, 150);

dlg.setModal(true);



dlg.add(new JLabel("石头>剪刀,剪刀>布,布>石头"),BorderLayout.CENTER);





mbar = new JMenuBar();//创建菜单栏并添加到窗体顶部

setJMenuBar(mbar);



show = new JMenu("结果显示方式");

about = new JMenuItem("关于游戏");

mbar.add(show);

mbar.add(about);



text = new JMenuItem("文本显示");

image = new JMenuItem("图形显示");

end = new JMenuItem("结束游戏");

show.add(text);

show.add(image);

show.add(end);



north = new JPanel(); //建立JPanel对象north

north.setBackground(Color.yellow); //设置north的背景为yellow

shitou = new JButton("石头");  //建立JButton对象 并设置文本为石头

jiandao = new JButton("剪刀"); //建立JButton对象 并设置文本为剪刀

bu = new JButton("布"); //建立JButton对象 并设置文本为布

clear = new JButton("清空");//建立JButton对象 并设置文本为清空

center = new JPanel(); //建立JPanel对象center

center.setBackground(Color.green); //设置center的背景为green

label = new JLabel("选择剪刀、石头、布开始游戏"); //建立JLabel对象label



west = new JPanel();

east = new JPanel();

south = new JPanel();

imgLabel1 = new JLabel();

imgLabel2 = new JLabel();

label2 = new JLabel();

label2.setFont(new Font("",Font.BOLD,20));



shitou.addActionListener(this); //给 shitou 添加事件监听器

jiandao.addActionListener(this); //给 jiandao 添加事件监听器

bu.addActionListener(this); //给 bu添加事件监听器

clear.addActionListener(this); // 给 clear添加事件监听器



about.addActionListener(this);

text.addActionListener(this);

image.addActionListener(this);

end.addActionListener(this);



north.add(shitou); //把 shitou 放进 north 中

north.add(jiandao); // 把 jiandao 放进 north 中

north.add(bu); //把 bu 放进 north 中

north.add(clear);// 把 clear 放进 north 中

center.add(label); //把 label 放进 center 中

west.add(imgLabel1);

east.add(imgLabel2);

south.add(label2);



add(north,BorderLayout.NORTH); //将north放入 JFrame中 并设置布局为容器的顶部

add(center,BorderLayout.CENTER);// 将center放入 JFrame中 并设置布局为容器的中央

add(west,BorderLayout.WEST);

add(east,BorderLayout.EAST);

add(south,BorderLayout.SOUTH);

}



public void actionPerformed(ActionEvent e) {

if(e.getSource() == about) {

dlg.setVisible(true);

}



if(e.getSource() == text) {

status = 0;

imgLabel1.setIcon(null);

imgLabel2.setIcon(null);

center.setBackground(Color.green);

label.setText("选择剪刀、石头、布开始游戏");

label2.setText("");

imgLabel1.setText("");

imgLabel2.setText("");

}else if(e.getSource() == image) {

status = 1;

imgLabel1.setHorizontalTextPosition(JLabel.CENTER);

imgLabel1.setVerticalTextPosition(JLabel.TOP);

imgLabel2.setHorizontalTextPosition(JLabel.CENTER);

imgLabel2.setVerticalTextPosition(JLabel.TOP);

imgLabel1.setIcon(null);

imgLabel2.setIcon(null);

label2.setText("");

imgLabel1.setText("");

imgLabel2.setText("");

float[] hsb= Color.RGBtoHSB(238, 238, 238, null);

center.setBackground(Color.getHSBColor(hsb[0], hsb[1], hsb[2]));

label.setText("选择剪刀、石头、布开始游戏");

}



if(status == 0) {

if(e.getSource() == shitou){

int i = (int)(Math.random()*10)%3;

switch(i){

case 0 : label.setText("你出石头,电脑出石头,平局!"); break;

case 1 : label.setText("你出石头,电脑出剪刀,恭喜你赢了!"); break;

case 2 : label.setText("你出石头,电脑出布,很遗憾你输了!"); break;

}

}

if(e.getSource() == jiandao ){

int i = (int)(Math.random()*10)%3;

switch(i){

case 0 : label.setText("你出剪刀,电脑出剪刀,平局!"); break;

case 1 : label.setText("你出剪刀,电脑出布,恭喜你赢了!"); break;

case 2 : label.setText("你出剪刀,电脑出石头,很遗憾你输了!"); break;

}

}

if(e.getSource() == bu){

int i = (int)(Math.random()*10)%3;

switch(i){

case 0 : label.setText("你出布,电脑出布,平局!"); break;

case 1 : label.setText("你出布,电脑出石头,恭喜你赢了!"); break;

case 2 : label.setText("你出布,电脑出剪刀,很遗憾你输了!"); break;

}

}

if(e.getSource() == clear) {

label.setText("选择剪刀、石头、布开始游戏");

}

}else if(status == 1) {

if(e.getSource() == shitou){

label.setText("");

imgLabel1.setText("我方");

imgLabel2.setText("对方");

imgLabel1.setIcon(new ImageIcon(STPATH));

int i = (int)(Math.random()*10)%3;

switch(i){

case 0 :

imgLabel2.setIcon(new ImageIcon(STPATH));

label2.setText("平局");

break;

case 1 :

imgLabel2.setIcon(new ImageIcon(JDPATH));

label2.setText("你赢了");

break;

case 2 :

imgLabel2.setIcon(new ImageIcon(BUPATH));

label2.setText("你输了");

break;

}

}else if(e.getSource() == jiandao ){

label.setText("");

imgLabel1.setText("我方");

imgLabel2.setText("对方");

imgLabel1.setIcon(new ImageIcon(JDPATH));

int i = (int)(Math.random()*10)%3;

switch(i){

case 0 :

imgLabel2.setIcon(new ImageIcon(STPATH));

label2.setText("你输了");

break;

case 1 :

imgLabel2.setIcon(new ImageIcon(JDPATH));

label2.setText("平局");

break;

case 2 :

imgLabel2.setIcon(new ImageIcon(BUPATH));

label2.setText("你赢了");

break;

}

}else if(e.getSource() == bu){

label.setText("");

imgLabel1.setText("我方");

imgLabel2.setText("对方");

imgLabel1.setIcon(new ImageIcon(BUPATH));

int i = (int)(Math.random()*10)%3;

switch(i){

case 0 :

imgLabel2.setIcon(new ImageIcon(STPATH));

label2.setText("你赢了");

break;

case 1 :

imgLabel2.setIcon(new ImageIcon(JDPATH));

label2.setText("你输了");

break;

case 2 :

imgLabel2.setIcon(new ImageIcon(BUPATH));

label2.setText("平局");

break;

}

}else if(e.getSource() == clear) {

imgLabel1.setIcon(null);

imgLabel2.setIcon(null);

label.setText("选择剪刀、石头、布开始游戏");

label2.setText("");

imgLabel1.setText("");

imgLabel2.setText("");

}

}



if(e.getSource() == end)

dispose();

}





public static void main(String[] args) {

shitoujiandaobu g = new shitoujiandaobu();

g.setVisible(true);

}

}

3. 分数的加减乘除(选做)
3.1 设计问题:分数的加减乘除

3.2 问题描述:计算给定分数的加减乘除。
3.3 问题分析:
1.化成最简形式:即求分子分母的最大公约数

2.定义友元函数以 x/y 的形式输出分数 类外实现友元函数 重载位运算符

3.4 功能实现:

1.成员变量 x 和 y,分别存放分子和分母, 要求分数以最简形式存放。例如:分数 2/4 应简化为 1/2。

2.定义成员函数 Add、Sub、Mul 和 Div,求两个分数的和差积商。计算结果仍以最简形式存放。

3.重载运算符“+、-、*、/”,求两个分数的和差积商。计算结果仍以最简形式存放。 4.定义友元函数,重载“<<”运算符,以 x/y 的形式输出分数。
3.5 测试实例及运行结果:
3.6 源程序清单

package shitoujidanobu;

import java.awt.*;//引入抽象窗口工具类包

import java.awt.event.*;//引入事件

import javax.swing.*;//引入组件



//定义一个窗口类,该类实现 ActionListener 接口;

public class shitoujiandaobu extends JFrame implements ActionListener{

JButton shitou,jiandao,bu,clear; //定义 JButton 对象

JPanel north,center,west,east,south; //定义 JPanel 对象

JLabel label,imgLabel1,imgLabel2,label2; // 定义JLable 对象

JMenuBar mbar;

JMenu show;

JMenuItem text,image,end,about;

JDialog dlg;

                //石头剪刀布的图片路径

static String STPATH = "D:\\桌面\\图片\\s.jpg",JDPATH = "D:\\桌面\\图片\\j.jpg",BUPATH="D:\\桌面\\图片\\b.jpg";

int status = 0;

public shitoujiandaobu() {

setTitle("石头剪刀布游戏"); //设置窗体标题,修改标题为“石头剪刀布游戏”;

setDefaultCloseOperation(EXIT_ON_CLOSE); //设置窗体关闭按钮

setBounds(250, 250, 350, 350);  //设置窗体左上顶点坐标;设置窗体大小,修改窗体大小为:350×350;



dlg = new JDialog(this,"about");

dlg.setBounds(325, 375, 200, 150);

dlg.setModal(true);



dlg.add(new JLabel("石头>剪刀,剪刀>布,布>石头"),BorderLayout.CENTER);





mbar = new JMenuBar();//创建菜单栏并添加到窗体顶部

setJMenuBar(mbar);



show = new JMenu("结果显示方式");

about = new JMenuItem("关于游戏");

mbar.add(show);

mbar.add(about);



text = new JMenuItem("文本显示");

image = new JMenuItem("图形显示");

end = new JMenuItem("结束游戏");

show.add(text);

show.add(image);

show.add(end);



north = new JPanel(); //建立JPanel对象north

north.setBackground(Color.yellow); //设置north的背景为yellow

shitou = new JButton("石头");  //建立JButton对象 并设置文本为石头

jiandao = new JButton("剪刀"); //建立JButton对象 并设置文本为剪刀

bu = new JButton("布"); //建立JButton对象 并设置文本为布

clear = new JButton("清空");//建立JButton对象 并设置文本为清空

center = new JPanel(); //建立JPanel对象center

center.setBackground(Color.green); //设置center的背景为green

label = new JLabel("选择剪刀、石头、布开始游戏"); //建立JLabel对象label



west = new JPanel();

east = new JPanel();

south = new JPanel();

imgLabel1 = new JLabel();

imgLabel2 = new JLabel();

label2 = new JLabel();

label2.setFont(new Font("",Font.BOLD,20));



shitou.addActionListener(this); //给 shitou 添加事件监听器

jiandao.addActionListener(this); //给 jiandao 添加事件监听器

bu.addActionListener(this); //给 bu添加事件监听器

clear.addActionListener(this); // 给 clear添加事件监听器



about.addActionListener(this);

text.addActionListener(this);

image.addActionListener(this);

end.addActionListener(this);



north.add(shitou); //把 shitou 放进 north 中

north.add(jiandao); // 把 jiandao 放进 north 中

north.add(bu); //把 bu 放进 north 中

north.add(clear);// 把 clear 放进 north 中

center.add(label); //把 label 放进 center 中

west.add(imgLabel1);

east.add(imgLabel2);

south.add(label2);



add(north,BorderLayout.NORTH); //将north放入 JFrame中 并设置布局为容器的顶部

add(center,BorderLayout.CENTER);// 将center放入 JFrame中 并设置布局为容器的中央

add(west,BorderLayout.WEST);

add(east,BorderLayout.EAST);

add(south,BorderLayout.SOUTH);

}



public void actionPerformed(ActionEvent e) {

if(e.getSource() == about) {

dlg.setVisible(true);

}



if(e.getSource() == text) {

status = 0;

imgLabel1.setIcon(null);

imgLabel2.setIcon(null);

center.setBackground(Color.green);

label.setText("选择剪刀、石头、布开始游戏");

label2.setText("");

imgLabel1.setText("");

imgLabel2.setText("");

}else if(e.getSource() == image) {

status = 1;

imgLabel1.setHorizontalTextPosition(JLabel.CENTER);

imgLabel1.setVerticalTextPosition(JLabel.TOP);

imgLabel2.setHorizontalTextPosition(JLabel.CENTER);

imgLabel2.setVerticalTextPosition(JLabel.TOP);

imgLabel1.setIcon(null);

imgLabel2.setIcon(null);

label2.setText("");

imgLabel1.setText("");

imgLabel2.setText("");

float[] hsb= Color.RGBtoHSB(238, 238, 238, null);

center.setBackground(Color.getHSBColor(hsb[0], hsb[1], hsb[2]));

label.setText("选择剪刀、石头、布开始游戏");

}



if(status == 0) {

if(e.getSource() == shitou){

int i = (int)(Math.random()*10)%3;

switch(i){

case 0 : label.setText("你出石头,电脑出石头,平局!"); break;

case 1 : label.setText("你出石头,电脑出剪刀,恭喜你赢了!"); break;

case 2 : label.setText("你出石头,电脑出布,很遗憾你输了!"); break;

}

}

if(e.getSource() == jiandao ){

int i = (int)(Math.random()*10)%3;

switch(i){

case 0 : label.setText("你出剪刀,电脑出剪刀,平局!"); break;

case 1 : label.setText("你出剪刀,电脑出布,恭喜你赢了!"); break;

case 2 : label.setText("你出剪刀,电脑出石头,很遗憾你输了!"); break;

}

}

if(e.getSource() == bu){

int i = (int)(Math.random()*10)%3;

switch(i){

case 0 : label.setText("你出布,电脑出布,平局!"); break;

case 1 : label.setText("你出布,电脑出石头,恭喜你赢了!"); break;

case 2 : label.setText("你出布,电脑出剪刀,很遗憾你输了!"); break;

}

}

if(e.getSource() == clear) {

label.setText("选择剪刀、石头、布开始游戏");

}

}else if(status == 1) {

if(e.getSource() == shitou){

label.setText("");

imgLabel1.setText("我方");

imgLabel2.setText("对方");

imgLabel1.setIcon(new ImageIcon(STPATH));

int i = (int)(Math.random()*10)%3;

switch(i){

case 0 :

imgLabel2.setIcon(new ImageIcon(STPATH));

label2.setText("平局");

break;

case 1 :

imgLabel2.setIcon(new ImageIcon(JDPATH));

label2.setText("你赢了");

break;

case 2 :

imgLabel2.setIcon(new ImageIcon(BUPATH));

label2.setText("你输了");

break;

}

}else if(e.getSource() == jiandao ){

label.setText("");

imgLabel1.setText("我方");

imgLabel2.setText("对方");

imgLabel1.setIcon(new ImageIcon(JDPATH));

int i = (int)(Math.random()*10)%3;

switch(i){

case 0 :

imgLabel2.setIcon(new ImageIcon(STPATH));

label2.setText("你输了");

break;

case 1 :

imgLabel2.setIcon(new ImageIcon(JDPATH));

label2.setText("平局");

break;

case 2 :

imgLabel2.setIcon(new ImageIcon(BUPATH));

label2.setText("你赢了");

break;

}

}else if(e.getSource() == bu){

label.setText("");

imgLabel1.setText("我方");

imgLabel2.setText("对方");

imgLabel1.setIcon(new ImageIcon(BUPATH));

int i = (int)(Math.random()*10)%3;

switch(i){

case 0 :

imgLabel2.setIcon(new ImageIcon(STPATH));

label2.setText("你赢了");

break;

case 1 :

imgLabel2.setIcon(new ImageIcon(JDPATH));

label2.setText("你输了");

break;

case 2 :

imgLabel2.setIcon(new ImageIcon(BUPATH));

label2.setText("平局");

break;

}

}else if(e.getSource() == clear) {

imgLabel1.setIcon(null);

imgLabel2.setIcon(null);

label.setText("选择剪刀、石头、布开始游戏");

label2.setText("");

imgLabel1.setText("");

imgLabel2.setText("");

}

}



if(e.getSource() == end)

dispose();

}





public static void main(String[] args) {

shitoujiandaobu g = new shitoujiandaobu();

g.setVisible(true);

}

}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值