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);
//窗口实现
}
}
截图:

实验总结
生成验证码可以使用随机字符。
可以生成验证码,不能刷新验证码;确定键没有功能。
JAVA 实验报告的更多相关文章
- Java实验报告五:Java网络编程及安全
Java实验报告五:Java网络编程及安全 ...
- Java实验报告二:Java面向对象程序设计
Java实验报告二:Java面向对象程序设计 ...
- 20145203盖泽双:Java实验报告二
Java实验报告二:Java面向对象程序设计 实验要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验内容 ...
- 20135231 JAVA实验报告三:敏捷开发与XP实践
---恢复内容开始--- JAVA实验报告三:敏捷开发与XP实践 20135231 何佳 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习 ...
- 20155310第一周JAVA实验报告
20155310第一周JAVA实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 使用JDK和IDE编译.运行简单 ...
- 20145310第一周JAVA实验报告
20145310第一周JAVA实验报告 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用Eclipse 编辑.编译.运行.调试Java程序. 实验要求 使用JDK和IDE编译.运行简单 ...
- 20145322第一次JAVA实验报告
20145322第一周JAVA实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验名称:Java开发环境的熟悉(Linux + Eclipse) 实验日期:2016.04.08 实 ...
- Java实验报告(一)
Java实验报告(一) 实验过程 1. 打印输出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其中各位数字立方和等于该数本身.例如,153是一个" ...
- 第三次Java实验报告
Java实验报告 班级 计科二班 学号20188437 姓名 何磊 完成时间 2019/9/22 评分等级 实验三 String类的应用 实验目的 掌握类String类的使用: 学会使用JDK帮助文档 ...
- Java实验报告&&课程报告
Java实验报告 班级 计算机科学与技术二班 学号 20188450 姓名 李代传 完成时间 2019/9/19 评分等级 实验二 Java简单类与对象 实验目的 掌握类的定义,熟悉属性.构造函数.方 ...
随机推荐
- CF865D Buy Low Sell High
/* 贪心来选择, 如果能找到比当前小的, 就用最小的来更新当前的 优先队列即可 */ #include<cstdio> #include<algorithm> #includ ...
- CSS3帧动画
在前面的文章中也有介绍过css3动画的内容,可见<关于transition和animation>和<webkitAnimationEnd动画事件>,今天又要唠叨一下这个东西了, ...
- 最全spring boot视频系列,你值得拥有
================================== 从零开始学Spring Boot视频 ================================== àSpringBoot ...
- 4.安装mitmproxy问题处理
上次进行到安装 证书出现问题: 1.主要原因是:对应python版本不一致 需要3.6以上的版本 才能在cmd黑窗口执行 mitmdump命令 生成证书 如图: windows 版本 双击安装 mit ...
- tomcat7的一些设置(修改内存)
1.内存修改.今天在tomcat7下面部署了两个项目.居然报错了. 然后开始打开Tomcat7w.exe 在java标签中的initial memory pool和muxinum memory poo ...
- webform之Repeater控件
一.Repeater控件 数据循环编辑 1.repeater包括五大模板: (1)HeaderTemplate:标题模板,对开头进行编辑,只执行一次 (2)FooterTemplate:页尾结束模板, ...
- python 生成器 的send
>>> def f(): c=yield 5 print c d=yield c+5 print d >>> b=f() >>> b.send(N ...
- Oracle表复杂查询
转自:https://www.cnblogs.com/w-gao/p/7288293.html Oracle表复杂查询 聚合函数 max(字段值) -- 求最大值 min(字段值) -- 求最小值 ...
- 20165304《Java程序设计》第五周学习总结
教材学习内容总结 第七章 1.内部类 注意内部类和外嵌类的关系: 外嵌类的成员变量和方法在内部类有效 内部类的类体不可以声明static变量和方法.外嵌类的类体可以用内部类声明对象. 内部类仅供它的外 ...
- 机器学习进阶-图像基本操作-边界补全操作 1.cv2.copyMakeBoder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REPLICATE) 进行边界的补零操作 2.cv2.BORDER_REPLICATE(边界补零复制操作)...
1.cv2.copyMakeBoder(img, top_size, bottom_size, left_size, right_size, cv2.BORDER_REPLICATE) 参数说明: i ...