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

 

 

 

实验报告

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);

//窗口实现

}

}

截图:

实验总结

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

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

JAVA 实验报告的更多相关文章

  1. Java实验报告五:Java网络编程及安全

    Java实验报告五:Java网络编程及安全                                                                               ...

  2. Java实验报告二:Java面向对象程序设计

    Java实验报告二:Java面向对象程序设计                                                                               ...

  3. 20145203盖泽双:Java实验报告二

    Java实验报告二:Java面向对象程序设计 实验要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验内容 ...

  4. 20135231 JAVA实验报告三:敏捷开发与XP实践

    ---恢复内容开始--- JAVA实验报告三:敏捷开发与XP实践 20135231 何佳 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习 ...

  5. 20155310第一周JAVA实验报告

    20155310第一周JAVA实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 使用JDK和IDE编译.运行简单 ...

  6. 20145310第一周JAVA实验报告

    20145310第一周JAVA实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 使用JDK和IDE编译.运行简单 ...

  7. 20145322第一次JAVA实验报告

    20145322第一周JAVA实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验名称:Java开发环境的熟悉(Linux + Eclipse) 实验日期:2016.04.08 实 ...

  8. Java实验报告(一)

    Java实验报告(一) 实验过程 1. 打印输出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其中各位数字立方和等于该数本身.例如,153是一个" ...

  9. 第三次Java实验报告

    Java实验报告 班级 计科二班 学号20188437 姓名 何磊 完成时间 2019/9/22 评分等级 实验三 String类的应用 实验目的 掌握类String类的使用: 学会使用JDK帮助文档 ...

  10. Java实验报告&&课程报告

    Java实验报告 班级 计算机科学与技术二班 学号 20188450 姓名 李代传 完成时间 2019/9/19 评分等级 实验二 Java简单类与对象 实验目的 掌握类的定义,熟悉属性.构造函数.方 ...

随机推荐

  1. oracle的sqlldr常见问题

    http://www.orafaq.com/wiki/SQL*Loader_FAQ#Can_one_skip_certain_columns_while_loading_data.3F What is ...

  2. nodejs学习笔记<二> 使用node创建基础服务器

    创建服务器的 server.js 内容. var http = require("http"); // 引用http模块 http.createServer(function(re ...

  3. spring揭密学习笔记(1) --spring的由来

    1.spring起源于在EJB暴露出各种严重问题的情况应运而生. Spring是于2003年兴起的一个轻量级的Java开发框架, Spring倡导一切从实际出发,以实用的态度来选择适合当前开发场景的解 ...

  4. 非阻塞套接字编程, IO多路复用(epoll)

    非阻塞套接字编程: server端 import socket server = socket.socket() server.setblocking(False) server.bind(('', ...

  5. java -version 问题 : C:\ProgramData\Oracle\Java\javapath;

    我把 JAVA_HOME 从8改成了 7 , 为什么还是 显示的8啊 ! E:\sv0\jars>java -version java version "1.8.0_111" ...

  6. 利用STM32CubeMX来生成USB_HID_Mouse工程【添加ADC】(1)

    现在原来的基础上添加ADC的功能. 现在(利用STM32CubeMX来生成USB_HID_Mouse工程)基础上新增硬件 JoyStick Shield 游戏摇杆扩展板 与STM32F103C8的连接 ...

  7. First changce exceptoin

      C++,改一点代码,F9,报一串地址错. First changce exceptoin是啥原因 退出也rad重进也不行,只能clean工程,完整编译才可以.感觉是没有把最新修改编译链接.   有 ...

  8. 机器学习进阶-图像金字塔与轮廓检测-轮廓检测 1.cv2.cvtColor(图像颜色转换) 2.cv2.findContours(找出图像的轮廓) 3.cv2.drawContours(画出图像轮廓) 4.cv2.contourArea(轮廓面积) 5.cv2.arcLength(轮廓周长) 6.cv2.aprroxPloyDP(获得轮廓近似) 7.cv2.boudingrect(外接圆)..

    1. cv2.cvtcolor(img, cv2.COLOR_BGR2GRAY) # 将彩色图转换为灰度图 参数说明: img表示输入的图片, cv2.COLOR_BGR2GRAY表示颜色的变换形式 ...

  9. WPF 自定义鼠标光标

    在程序中使用自定义鼠标光标的三种方式: RadioButton senderButton = sender as RadioButton; 方式一:                       str ...

  10. mybatis 异常和注意

    1.  Could not set parameters for mapping like语句出错,因将%%写入到mapper.xml中导致,将%%随同参数一并传入. 例:String userNam ...