Java四则运算和验证码生成
四则运算
程序设计思想
使用随机数生成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("请选择100以内或1000以内");
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+"=");
}
}
}
四则运算
实现结果截图
实验总结
开始不知道如何生成随机数,百度后明白Math.random()产生0-1的随机数,并乘上相应的倍数就能获得一定范围的随机数。后续增加了难度选择。
生成验证码
程序设计思想
使用random产生随机字符,并利用for循环产生字符串。具体框架使用jFrame,文本框组件:JTextField;密码框组件:JPasswordField;标签组件:JLabel;复选框组件:JCheckBox;单选框组件:JRadioButton;按钮组件JButton。使用setbounds设置位置和大小。
程序流程图
package 登陆界面;
import java.awt.Color;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPasswordField;
import javax.swing.JTextField;
public class Denglu {
public static String creatZifu()
{
String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
Random random = new Random();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < 4; i++)
{
int number = random.nextInt(str.length());
sb.append(str.charAt(number));
}
return sb.toString();
} public static void main(String[] args)
{
JFrame jFrame = new JFrame("登陆界面");
//具体框架使用jFrame,文本框组件:JTextField;
//密码框组件:JPasswordField;标签组件:JLabel;
//复选框组件:JCheckBox;单选框组件:JRadioButton;按钮组件JButton。
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
jFrame.setBounds(((int)dimension.getWidth() - 200) / 2, ((int)dimension.getHeight() - 300) / 2, 400, 200);
jFrame.setResizable(true);
jFrame.setLayout(null);
//添加标签,内容为“姓名”
JLabel label1 = new JLabel("姓名:");
label1.setBounds(10, 10, 100, 30);
jFrame.add(label1);
//添加标签,内容为“密码”
JLabel label2 = new JLabel("密码:");
label2.setBounds(10, 40, 100, 30);
jFrame.add(label2);
//添加标签,内容为“验证码”;
JLabel label3 = new JLabel("验证码:");
label3.setBounds(10, 70, 100, 30);
jFrame.add(label3);
//添加标签,并调用产生验证码的函数,并将其作为标签的内容
JLabel label4 = new JLabel(creatZifu());
String s;
s=label4.getText();
label4.setBounds(70, 70, 100, 30);
label4.setForeground(Color.blue);
jFrame.add(label4);
//输入用户名;
final JTextField text1 = new JTextField();
text1.setBounds(50, 15, 130, 20);
jFrame.add(text1);
//输入密码;
final JPasswordField text2 = new JPasswordField();
text2.setBounds(50, 45, 130, 20);
jFrame.add(text2);
//输入验证码;
final JTextField text3 = new JTextField();
text3.setBounds(110, 75, 130, 20);
jFrame.add(text3); JButton button1 = new JButton("取消");
button1.setBounds(160, 105, 150, 30);
button1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
jFrame.dispose();//关闭程序;
}
});
jFrame.add(button1);
JButton button2 = new JButton("换一张?");
button2.setBounds(250, 75, 100, 20);
jFrame.add(button2);
JButton button = new JButton("登录");
button.setBounds(10, 105, 150, 30);
jFrame.add(button);
jFrame.setVisible(true);
}
}
验证码
实现结果截图
实验总结
生成验证码可以使用随机字符,并用循环获得想要的长度。
可以生成验证码,但是无法刷新验证码,登陆键没有功能
Java四则运算和验证码生成的更多相关文章
- java web中验证码生成的demo
首先创建一个CaptailCode类 package com.xiaoqiang.code; import java.awt.*; import java.awt.font.FontRenderCon ...
- JAVA 验证码生成(转)
最近做了一下验证码的功能,网上找了一篇还不错,引用下:http://blog.csdn.net/ruixue0117/article/details/22829557 这篇文章非常好,但是web和js ...
- Web后端 JAVA实现验证码生成与验证功能
首先,写一个验证码生成帮助类,用来绘制随机字母: <span style="font-size:14px;">import java.awt.Color; impor ...
- 一篇Java图片验证码生成的代码
package projectUtil; /** * @author tian * @date 2019/4/1015:58 */ import javax.imageio.ImageIO; impo ...
- 【java提高】---patchca生成验证码
Java使用patchca生成验证码 Patchca是Piotr Piastucki写的一个java验证码开源库,打包成jar文件发布,patchca使用简单但功能强大. 本例实现了自定 ...
- java图形验证码生成工具类及web页面校验验证码
最近做验证码,参考网上案例,发现有不少问题,特意进行了修改和完善. 验证码生成器: import javax.imageio.ImageIO; import java.awt.*; import ja ...
- Atitit 图片 验证码生成attilax总结
Atitit 图片 验证码生成attilax总结 1.1. 图片验证码总结1 1.2. 镂空文字 打散 干扰线 文字扭曲 粘连2 1.1. 图片验证码总结 因此,CAPTCHA在图片验证码这一应用点 ...
- Web---图片验证码生成教程详解-从简单到复杂-从本地到前后台
首先,我们先来看本地如何生成图片验证码的,再来写输出到网页的验证码如何实现. 先来看最简单的-实现的功能是,将一个字符串变成图片写入到文件中 实现代码: package cn.hncu.img; im ...
- 利用谷歌 kaptcha 进行验证码生成
package main.com.smart.controller; import com.google.code.kaptcha.Producer; import main.com.smart.ut ...
随机推荐
- 【转载】Android Gradle Build Error:Some file crunching failed, see logs for details解决办法
Android Gradle Build Error:Some file crunching failed, see logs for details解决办法 转载请标明出处: http://www. ...
- Lombok认知
Lombok的简介 Lombok是一款Java开发插件,公司项目到处使用,整体效果很棒,代码更干净.Java开发人员可以节省出重复构建,诸如hashCode和equals这样的方法以及各种业务对象模型 ...
- Node.js NPM 介绍
章节 Node.js NPM 介绍 Node.js NPM 作用 Node.js NPM 包(Package) Node.js NPM 管理包 Node.js NPM Package.json NPM ...
- RobotFramwork中实现oracle数据库的连接(终于解决cx_oracle问题)
RobotFramework连接数据库有java实现,也有python实现的,现在研究的python实现的,java还没尝试.有兴趣的参考后面的转载文章. 步骤(也转载了别人的文章,因为写的比 ...
- 打包|zip
原始:gzip zip -r ./gzip.zip ./gzip/* adding: gzip/split_10.gz (deflated 2%) adding: gzip/split_11.gz ( ...
- hadoop的文件操作整理java
package dada; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; im ...
- 使用Redis SortedSet实现增量更新
导读:前段时间有个需求是提供一个接口供客户端增量更新数据,当有数据被删除了以后客户端也需要感知到,并且要支持一定并发: 关键词:高并发,增量更新 前言 何谓增量更新,顾名思义就是只更新变化的部分,这样 ...
- 文献阅读报告 - Move, Attend and Predict
Citation Al-Molegi A , Martínez-Ballesté, Antoni, Jabreel M . Move, Attend and Predict: An Attention ...
- 【转】TransactionScope事务处理方法介绍及.NET Core中的注意事项
什么是TransactionScope呢? TransactionScope作为System.Transactions的一部分被引入到.NET 2.0.同时SqlClient for .NET Cor ...
- 标准JAVA工程结构