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

 

 

 

实验报告

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. [Ahoi2013]差异(后缀自动机)

    /* 前面的那一坨是可以O1计算的 后面那个显然后缀数组单调栈比较好写??? 两个后缀的lcp长度相当于他们在后缀树上的lca的深度 那么我们就能够反向用后缀自动机构造出后缀树然后统计每个点作为lca ...

  2. Codeforces Round #493 (Div. 1)

    A. /* 发现每次反转或者消除都会减少一段0 当0只有一段时只能消除 这样判断一下就行 */ #include<cstdio> #include<algorithm> #in ...

  3. day17常用模块1记忆

    常用模块(详细见'egon'博客)1. 时间模块time与datetime 1. 时间戳:time.time()        应用: 用来计算时间间隔  time.sleep(5) 延迟5秒    ...

  4. mysql 存储过程动态拼接sql并执行赋值

    )) BEGIN ## 定义变量 ,) ; ## @表示全局变量 相当于php $ ## 拼接赋值 INTO 必须要用全局变量不然语句会报错 SET @strsql = CONCAT('SELECT ...

  5. WPF 异常其他信息: “对类型“BaseControl.KImgButton”的构造函数执行符合指定的绑定约束的调用时引发了异常。”,行号为“38”,行位置为“22”。

    引发的异常:“System.Windows.Markup.XamlParseException”(位于 PresentationFramework.dll 中) 其他信息: “对类型“BaseCont ...

  6. 零基础学习python_生成器(49课)

    一个生成器函数的定义很像一个普通的函数,除了当它要生成一个值的时候,使用yield关键字而不是return.如果一个def的主体包含yield,这个函数会自动变成一个生成器(即使它包含一个return ...

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

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

  8. lampp中的ftp使用介绍

    搭建完毕lampp 具体要求如下:使用Lampp的proftpd,开通多个FTP用户,并各分配一个目录,而且需要限制用户在自己的目录里面,可以自由读写. 操作步骤:第一步:设置ftp用户组,输入命令: ...

  9. 24.API爬天气预报数据

    1.免费注册API 地址: https://console.heweather.com/ 必须要用IE浏览器打开,注册邮箱激活,打开控制台,如图: 认证key是访问api的钥匙 2.阅读api说明开发 ...

  10. Linux关键字查询

    grep -R "查询关键字" /目录/*