JAVA 实验报告

 

 

石家庄铁道大学信息科学与技术学院

 

 

 

实验报告

2018----2019  学期

 

 

 

 

 

 

 

题目   四则运算、生成验证码      

课程名称:  JAVA语言程序设计      

   级:      1705-2           

   名:   赵墨涵  学号: 20173623 

指导教师:       王建民            

正文部分格式要求:

1、 正文汉子部分要求宋体小四,行间距固定值20磅;首行缩进两个字符。

2、 程序英文部分要求采用Times New Roman字体,行间距固定值20磅,程序缩进采用四个字符,程序部分要求采用必要的注释。

3、 实验报告要求完成以下三项内容:

1) 按照题目内容要求编写程序实现功能。

2) 实验报告中要求包括程序设计思想、程序流程图、源程序、实现结果截图、实验总结(包括调试过程中出现的错误等)。

四则运算

程序设计思想

  使用随机数生成100或1000以内数字,用字符串数组实现+-*/的输出。For循环打印出所需要的题数。

程序流程图

 

 

 

 

 

 

 

 

 

 

 

源程序

package yunsuan;

import java.util.Scanner;

public class Yunsuan {

public static void main(String[] args) {

int a1,a2,a3;

int b1,b2,b3;

int m,n;

int i=0;

Scanner sc=new Scanner(System.in);

        String f[]=new String[4];

        f[0]="+";

        f[1]="-";

        f[2]="*";

        f[3]="/";

        System.out.println("请选择10以内或100以内");

        m=sc.nextInt()+1;

        System.out.println("请输入要产生的题数");

        n=sc.nextInt();

        for(i=0;i<n;i++)

        {

        a1=(int)(Math.random()*m);

        a2=(int)(Math.random()*m);

        a3=(int)(Math.random()*m);

        //a4=(int)(Math.random()*m);

        b1=(int)(Math.random()*4);

        b2=(int)(Math.random()*4);

        //b3=(int)(Math.random()*4);

        System.out.println(""+(i+1)+":"+a1+f[b1]+a2+f[b2]+a3+"=");

        }

}

}

截图

  

实验总结

实验运用到了随机数函数

验证码

程序设计思想

使用random产生随机字符,并利用for循环产生字符串。具体框架使用jFrame,文本框组件:JTextField;密码框组件:JPasswordField;标签组件:JLabel;复选框组件:JCheckBox;单选框组件:JRadioButton;按钮组件JButton使用setbounds设置位置和大小。

程序流程图

 

 

 

源程序

package yzm;

import java.util.Random;

import java.awt.Container;

import java.awt.Dimension;

import java.awt.FlowLayout;

import javax.swing.ImageIcon;//顶级容器即空白窗口  

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

public class Test {

public static void main(String[] args) {

Test t=new Test();

t.set();

}

private void set() {

JFrame f=new JFrame();

f.setTitle("验证码");//窗口标题

f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//关闭

f.setExtendedState(JFrame.MAXIMIZED_VERT);//最大化

f.setSize(300,300);//窗口大小

Container con=f.getContentPane();

JPanel pan=new JPanel();

JLabel yan=new JLabel("验证码:");

pan.add(yan);

JTextField yanzhengma=new JTextField(10);

pan.add(yanzhengma);

String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";

Random random = new Random();

        StringBuffer yzm = new StringBuffer();

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

            int number = random.nextInt(62);// [0,62)

            yzm.append(str.charAt(number));

        }

        String s=yzm.toString();

JLabel ma=new JLabel(s);

pan.add(ma);

 JButton buttenOne=new JButton("确定");

pan.add(buttenOne);

con.add(pan);

f.setVisible(true);

//窗口实现

}

}

截图

实验总结

 生成验证码可以使用随机字符

 可以生成验证码,不能刷新验证码确定键没有功能

原文地址:https://www.cnblogs.com/zmh-980509/p/9751983.html