四则运算

程序设计思想

使用随机数生成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四则运算和验证码生成的更多相关文章

  1. java web中验证码生成的demo

    首先创建一个CaptailCode类 package com.xiaoqiang.code; import java.awt.*; import java.awt.font.FontRenderCon ...

  2. JAVA 验证码生成(转)

    最近做了一下验证码的功能,网上找了一篇还不错,引用下:http://blog.csdn.net/ruixue0117/article/details/22829557 这篇文章非常好,但是web和js ...

  3. Web后端 JAVA实现验证码生成与验证功能

    首先,写一个验证码生成帮助类,用来绘制随机字母: <span style="font-size:14px;">import java.awt.Color;  impor ...

  4. 一篇Java图片验证码生成的代码

    package projectUtil; /** * @author tian * @date 2019/4/1015:58 */ import javax.imageio.ImageIO; impo ...

  5. 【java提高】---patchca生成验证码

    Java使用patchca生成验证码        Patchca是Piotr Piastucki写的一个java验证码开源库,打包成jar文件发布,patchca使用简单但功能强大. 本例实现了自定 ...

  6. java图形验证码生成工具类及web页面校验验证码

    最近做验证码,参考网上案例,发现有不少问题,特意进行了修改和完善. 验证码生成器: import javax.imageio.ImageIO; import java.awt.*; import ja ...

  7. Atitit 图片 验证码生成attilax总结

    Atitit 图片 验证码生成attilax总结 1.1. 图片验证码总结1 1.2. 镂空文字  打散 干扰线 文字扭曲 粘连2 1.1. 图片验证码总结 因此,CAPTCHA在图片验证码这一应用点 ...

  8. Web---图片验证码生成教程详解-从简单到复杂-从本地到前后台

    首先,我们先来看本地如何生成图片验证码的,再来写输出到网页的验证码如何实现. 先来看最简单的-实现的功能是,将一个字符串变成图片写入到文件中 实现代码: package cn.hncu.img; im ...

  9. 利用谷歌 kaptcha 进行验证码生成

    package main.com.smart.controller; import com.google.code.kaptcha.Producer; import main.com.smart.ut ...

随机推荐

  1. windows炸鸡啤酒

    20170831 今天郁闷,一台windwos远处不上去,被怼了,只能说我活该,事先不弄清楚自己负责的服务运行机器的管理员. 今天尤其特别想知道这台windows跑了多久(linux:uptime), ...

  2. 018-PHP判断文件是否存在

    <?php print("data.txt文件是否存在?" . "<br>"); if (file_exists("data.txt ...

  3. Spring 框架介绍

    Spring 框架介绍 Spring 框架模块 Spring开发环境搭建(Eclipse) 创建一个简单的Spring应用 Spring 控制反转容器(Inversion of Control – I ...

  4. mysql 深度分页

    mysql  分页查询使我们常见的需求 ,但是随着页数的增加查询性能会逐渐下降,尤其是到深度分页的情况.我们可以把分页分为两个步骤,1.定位偏移量,2.获取分页条数的 数据. 所以当数据较大页数较深时 ...

  5. 【剑指Offer】面试题22. 链表中倒数第k个节点

    题目 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点.例如,一个链表有6个节点,从头节点开始,它们的值依次是1.2.3.4.5.6. ...

  6. Junit学习使用

    InputStream in; SqlSessionFactory factory; SqlSession session; UserDao userDao; @BeforeEach public v ...

  7. 初识Golang编程语言

    初识Golang编程语言 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Go 是年轻而有活力的语言,有网友说:"Go语言将超过C,Java,成为未来十年最流行的语言&qu ...

  8. CGridCtrl添加右键菜单

    头文件下添加: afx_msg void OnMergeCell(); afx_msg void OnContextMenu(CWnd* /*pWnd*/, CPoint /*point*/); 添加 ...

  9. silicon射频发射器 SI4010-C2-GSR

    Si4010是第一款系统级的自动天线调谐发射器,具有专利的调谐电路,可自动微调天线以达到最佳效果,以及恒定的输出功耗.PCB环形天线的制造公差和环境改变,将会引起发射频率的变化,从而可能导致天线的效率 ...

  10. 洛谷 P1833 樱花

    题目传送门 解题思路: 就是完全背包和多重背包的混合.处理时间的时候注意一下就行了 AC代码: #include<iostream> #include<cstdio> usin ...