Java四则运算和验证码生成
2024-09-08 13:34:45
四则运算
程序设计思想
使用随机数生成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);
}
}
验证码
实现结果截图
实验总结
生成验证码可以使用随机字符,并用循环获得想要的长度。
可以生成验证码,但是无法刷新验证码,登陆键没有功能
最新文章
- luogg_java学习_12_线程
- Xcode开发中的6个小技巧
- swt小知识点
- struts一些实用常量配置_2015.01.04
- HDU 5695 Gym Class 拓扑排序
- Codeforces 731D Funny Game
- angularJS 指令二
- CSS 让标点符号不出现在行首
- java(17) - 增强for循环、装箱拆箱、可变参数
- BIEE应用存储过程并从前台传参
- NOIP2017记
- 玩转Git入门篇
- Fedora 29 查看 rpm 包 依赖性 以 libconfig 为例
- WIFI探针技术
- java技术第二次作业
- Spring AOP开发
- pandas replace函数使用小结
- Redis实战(三)CentOS 7上Redis主从复制
- linux下TP5安装好Workerman 报错:Class &#39;think\worker\Server&#39; not found
- MAC OX 配置 Tomcat 说明