模拟实现本站登录窗口(AWT版本)

初学java之模拟QQ聊天软件(简单实现) 大一上学期初学java之期末课程设计–模拟QQ聊天软件(简单实现)引言:这个程序是自从学习java以来写的第一个比较大的图形界面程序,花费了大约一周的时间,作为期末的课程设计,也算是基本上完成了任务,当然由于作者的编程能力有限,代码中难免存在BUG,不太简练,今天搬到博客上来,也算是对自己学习历程的一段记录吧,当然,如果我的这篇博客有幸被诸君看到,欢迎提出意见和建议,这篇博客仅仅作为我的一个记录吧, 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> /*本程序是模拟的中文Java技术网的登录窗口,用AWT组件实现的,不过还有一些需要完善的地方,所以我希望能得到各位Java爱好者的建议*/ import java.awt.*; import java.awt.event.*; import java.applet.Applet; //对话框创建 class okcanceldialog extends Dialog implements ActionListener { Panel p; Label top,name,password; TextField inputname,inputpassword; Button ok,cancel; String data; okcanceldialog(Frame hostFrame,String title,boolean dModal) { super(hostFrame,title,dModal); p=new Panel(); p.setLayout(new FlowLayout()); setSize(300,200); setLayout(new GridBagLayout());//用网格包装布局为放置组件 GridBagConstraints gbb=new GridBagConstraints(); top=new Label("登 录 窗 口 "); gbb.gridx=1; gbb.gridy=0;//在第一行显示top标签 add(top,gbb); name=new Label("会员名:"); gbb.gridx=GridBagConstraints.RELATIVE; gbb.gridy=1;//在第二行显示会员名标签和相应文本框 add(name,gbb); inputname=new TextField(20); add(inputname,gbb); password=new Label("密码:"); gbb.gridx=GridBagConstraints.RELATIVE; gbb.gridy=2;在第二行显示密码标签和相应文本框 add(password,gbb); inputpassword=new TextField(20); add(inputpassword,gbb); inputpassword.setEchoChar('*'); ok=new Button("确定"); p.add(ok); ok.addActionListener(this); cancel=new Button("放弃"); p.add(cancel); cancel.addActionListener(this); p.add(new Label(" "));//将两个按钮和一个含有很多空格的标签加入板(注:标签的 //作用是为了把按钮挤在中间) gbb.gridx=1; gbb.gridy=3;//在第四行显示板 add(p,gbb); data=new String(); addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){System.exit(0);}});//用以关闭窗 //口 } public void actionPerformed(ActionEvent event) { if(event.getSource()==ok){ data=" 您好," inputname.getText() ",欢迎光临中文Java技术网!"; }else if(event.getSource()==cancel){ data=" 你没有输入! "; } setVisible(false); } } //窗口创建 class dialogframe extends Frame implements ActionListener { Label firstpage,word; Button enter; okcanceldialog dialog; dialogframe(String title) { super(title); setLayout(new GridBagLayout()); GridBagConstraints gbc=new GridBagConstraints(); firstpage=new Label("Welcome to 77750 net"); enter=new Button("会员登录"); gbc.gridy=0; add(firstpage,gbc); word=new Label(" 您还没有登录 "); gbc.gridx=GridBagConstraints.RELATIVE; gbc.gridy=1; add(enter,gbc); enter.addActionListener(this); gbc.gridx=GridBagConstraints.RELATIVE; gbc.gridy=2;//在第三行显示欢迎词 add(word,gbc); dialog=new okcanceldialog(this,"登录",true); } public void actionPerformed(ActionEvent event) { if(event.getSource()==enter){ dialog.setVisible(true); word.setText(dialog.data); } } //此方法用来显示对话框 } //主类 public abstract class mainclass implements ActionListener { public static void main(String[] args) { dialogframe f=new dialogframe("Welcome");//创建窗口实例 f.setSize(300,200); f.addWindowListener(new WindowAdapter(){ public void windowClosing(WindowEvent e){System.exit(0);}}); f.show(); } } 附:本程序已通过调试,没有任何错误.
Java实现类人化鼠标模拟:绕过检测的自动化测试与RPA实战 在自动化测试和机器人流程自动化(RPA)领域,模拟用户输入是核心技术之一。传统的鼠标移动方法通过直线瞬移实现点击,虽然功能上可行,但其机械化的轨迹极易被反作弊和风控系统识别。为了提升脚本的隐蔽性和可靠性,需要模拟更接近真人操作的鼠标行为,这涉及到运动轨迹生成、随机噪声注入和人类行为学模型的应用。通过引入贝塞尔曲线、费茨定律等算法,可以生成带有加速、减速和随机抖动的自然移动路径,从而有效绕过基础检测。这种技术对于需要长时间稳定运行的自动化数据采集、GUI测试和游戏脚本开发具有重要价值。本文以Java的Natu 阅读详情

相关推荐

模拟QQ聊天系统:Java实现指南

Java GUI技术自Java语言诞生起,就是Java体系中不可或缺的一部分。早期版本的Java通过AWT(Abstract Window Toolkit)提供基本的图形用户界面功能,AWT是基于本地操作系统组件的封装,但由于不同平台的GUI组件差异较大,导致跨平台的GUI应用开发复杂且功能受限。随着Java的发展,Sun Microsystems推出了Swing库,它提供了更为丰富和一致的跨平台用户界面组件。

weixin_32673065的博客 973

AWT窗口组件

AWT组件: Swing组件:轻量级GUI

XY Bit 300

Java实现模拟QQ聊天室系统开发

随着即时通讯技术的不断发展,开发一个具备基本聊天功能的模拟QQ系统,成为理解网络通信与图形界面交互的理想实践项目。本系统旨在实现用户登录、消息收发、在线状态管理等核心功能,构建一个基于客户端-服务器架构的简易即时通讯平台。从技术角度看,系统涉及图形界面设计Socket网络通信消息处理机制用户状态管理等多个关键技术点。通过Java语言结合Swing或JavaFX进行界面开发,使用Socket实现跨网络通信,并通过JSON进行消息序列化与解析,确保数据结构化传输。

weixin_28736145的博客 950

AWT的Frame窗口实战

一创建一个Frame窗口 1代码 import java.awt.Frame; public class TestFrame { public static void main(String[] args) { Frame frame = new Frame(); //frame.setSize(500, 300); fra...

实践求真知 2060

如何理解反步法设计控制器?

假设以二阶系统为例,被控对象的系统状态方程为: 基于反步控制的具体方法如下: 1.1步骤一 定义期望状态为xd,状态误差e1,为: e1=x1-xd; 则e1的导数为: 1.2步骤二 定义虚拟控制量为: e2定义为: 1.3步骤三 定义Lyapunov能量函数为: 1.4步骤四 定义总Lyapunov能量函数为: 因此设计的控制律为: 设计c>0,则: 满足Lyapunov的稳定性判定条件...

weixin_42736130的博客 2万+

自监督学习与上下文赌博机融合:视觉决策中的协同优化与实战指南

在机器学习领域,自监督学习(Self-Supervised Learning)通过设计前置任务从无标注数据中学习通用表征,已成为解决标注数据稀缺问题的关键技术。其核心原理是利用数据自身的结构生成监督信号,训练编码器提取鲁棒特征。上下文赌博机(Contextual Bandits)作为强化学习的简化分支,专注于在给定上下文信息下做出单步最优决策,平衡探索与利用,广泛应用于推荐系统、广告投放等场景。将两者结合,构建端到端的协同训练框架,能让视觉表征的优化直接服务于最终的决策目标,同时利用自监督任务作为正则化项提

weixin_33721344的博客 521

Java语言做一个简单的登陆界面实现用户名和密码的登陆以及界面之间的跳转

登陆界面的构想 在做登陆界面之前首先肯定是要对界面的进行布局构想,想这个界面到底有哪些元素构成,就拿下面的图来说吧 从这张图片中我们可以知道这登陆界面的组成需要到用户名和密码两个Jlabel标签和一个JTextField文本框和JPasswordField的密码框以及三个JButton按钮,最后将这些元素添加到container这个容器中。 java swing组件中的Jlabel、JTextF...

MengKun822的博客 7万+

ubuntu20.04开机黑屏卡在/dev/sda1:clean,***files,***blocks,解决心得记录

这个问题如果你百度,会发现目前有很多种解决方法。 有更新显卡驱动的,有卸载上一次安装软件的,还有各种奇奇怪怪的故障原因。 如果你是属于上述情况,那么按照百度和论坛的各种指引操作一般都能解决。 但我这里主要说一种特殊情况,就是我什么也没有操作,我什么也没干。就是正常使用系统关了机突然就报错了。 这也是自己亲自遇到的问题,做个小记录方便以后自己回顾。 上一次出现这种情况我重装系统了,这次用了两个月又出现了,重装成本太高,我接受不了,于是找到解决办法。 首先找个终端进入,进入终端的方法很多,用安装u盘

qq_41517017的博客 2万+

java语言怎么建立窗口awt,java.awt.Frame类:创建窗口

创建窗口是 AWT 编程的第一步,窗口是所有组件和面板的容器。在 Java AWT 中,我们使用 Frame 类来创建窗口。Frame 中文字意是“框架”,它的主要功能是建立窗口。AWT 建立窗口的步骤如下:设计 Frame 类对象,建立空白窗口;建立此 Frame 对象的组件。下面是 Frame 类的构造方法。构造方法说明Frame( )建立没有标题的窗口Frame(String title)建...

weixin_33608760的博客 2066

解密美团外卖API:mtgsig和waimai_sign参数生成原理与Python实现

本文深入解析了美团外卖API中核心风控参数mtgsig和waimai_sign的生成原理与实现方法。文章详细拆解了waimai_sign作为业务数据签名、mtgsig作为请求环境签名的不同角色与生成逻辑,并通过Python代码示例演示了如何通过逆向工程、Frida动态Hook等技术手段模拟签名生成过程,为开发者理解移动端API安全机制提供了实战参考。

weixin_29325515的博客 554

强化学习 reward 曲线可视化:从基础绘制到顶刊级对比分析

本文详细介绍了强化学习reward曲线的可视化方法,从基础绘制到顶刊级对比分析。通过matplotlib和seaborn的实战示例,展示了如何优化曲线图的视觉效果,包括多实验对比、置信区间添加和分面图应用。文章还分享了顶刊级图表的进阶技巧,如字体排版、颜色选择和关键标注,帮助研究者提升论文图表质量。

weixin_29096377的博客 271

awt_窗口关闭

//如何关闭窗口 import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; public class awtDemo10 { public static void main(String[] args) { Frame frame=new Frame(); frame.setBounds(100,100,500,300); .

qq_57907966的博客 699

置换矩阵、转置矩阵以及向量空间、子空间

置换矩阵、转置矩阵以及向量空间、子空间导读置换矩阵 导读 MIT矩阵分析课程之后的的二篇笔记。

qq_44677482的博客 1673

模拟实现本站登录窗口(Swing版本)

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 511

通义千问AI模型对接飞书机器人-集成飞书机器人(2-2)

http请求地址上一篇百炼平台配置的应用地址。

hefaji的博客 1917

《PCI Express体系结构导读1》-- PCI简介

请先阅读完一遍此书再来看文章哦,这样效率更高~

HoneyIC的博客 152

java登录界面的实现(任何小白都可轻松实现)

1

qq_44749781的博客 7478

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

模拟实现登录窗口(Swing版本)

 /*本程序是模拟的中文Java技术网的登录窗口,用Swing组件实现的,不过还有一些需要完善的地方,所以我希望能得到各位Java爱好者的建议*/import java.awt.*;import javax.swing.*;import java.awt.event.*;/*CODE=dialoginput.classWIDTH=300HEIGHT=200>*/public class

Roger★L☆M☆J★ 799

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

java窗口登陆_java图形化界面实现登录窗口

登录窗口一般很常见,现在让我们自己也来写一个吧!PS:很多import是重复的,是因为我是分了几个类写的,必须单独导入//模拟qq登录窗口import java.awt.*;import java.io.*;import java.awt.event.*;import javax.swing.*;public class QQGUI extends JFrame implements Action...

weixin_39895181的博客 1028

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

java图形用户登录界面_java图形化界面实现登录窗口

登录窗口一般很常见,现在让我们自己也来写一个吧!ps:很多import是重复的,是因为我是分了几个类写的,必须单独导入//模拟qq登录窗口import java.awt.*;import java.io.*;import java.awt.event.*;import javax.swing.*;public class qqgui extends jframe implements action...

weixin_26938645的博客 1237

Java面试题之AWT、Swing

1.AWT和Swing的基本概念 AWT和Swing都是java中的GUI工具包。 AWT(Abstract Window Toolkit):抽象窗口工具包,早期编写图形界面应用程序的包。 Swing :为解决 AWT 存在的问题而新开发的图形界面包,包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。Swing是对AWT的改良和扩展。     Swing提供许多比AWT更好的...

等待中的小码农 1637

简单的银行存取款小程序附登录界面(java)

银行存取款代码程序用户登录界面存取款操作界面实现结果图 代码程序 用户登录界面 这里主要用了swing类,尝试用awt进行练习 早期写的代码,可能太冗长,不简洁 package mypackage; import javax.swing.*; import java.awt.Color; import java.awt.Font; import java.awt.GridLayout; impo...

dustdawn的博客 3684

Java多窗口编程示例

Java多窗口编程示例

cnds123的专栏 6922

java swing面试题_Java面试题之AWT、Swing

1.AWT和Swing的基本概念AWT和Swing都是java中的GUI工具包。AWT(Abstract Window Toolkit):抽象窗口工具包,早期编写图形界面应用程序的包。Swing :为解决 AWT 存在的问题而新开发的图形界面包,包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。Swing是对AWT的改良和扩展。Swing提供许多比AWT更好的屏幕显示元素。它们用纯J...

weixin_39610353的博客 570

javarobot 模拟键盘输入windows

使用 Java Robot 模拟键盘输入在 Windows 上 模拟键盘输入是一种自动化技术,可以帮助开发者与应用程序进行交互。在这个教程中,我将教你如何使用 Java 的 Robot 类来实现这一功能。首先,我们将概述整个流程,其次逐步介绍每一步的实现代码,最后我们会查看 classDiagram 和 flowchart...

weixin_42161497的博客 284

JavaGUI小结——实验做的QQ登录界面

package 国玉; //import java.awt.*; //import javax.swing.*; //public class QQLogin { // private static JFrame jf=new JFrame(); // public static void initLogin() { // jf.setSize(426, 300); // jf.setLoca...

不想起标题 2960
上一篇: 如何更好的学习Java
下一篇: 一个小小的整人游戏
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值