如何做一个小程序?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何做一个小程序?相关的知识,希望对你有一定的参考价值。

微信版本升级后,打开微信,点击底部的“发现”这个菜单项,就会发现升级后的“发现”菜单里,增加了“小程序”这样一个功能。
2.点击打开小程序后,可以看到有附近的小程序和我的小程序,附近的小程序是所在定位周边的小程序。
下面的小程序列表可以看到的是我们之前打开过的一些小程序,如果有自己觉得很好用的小程序就可以点击左上角,添加到我的小程序里面。
3.微信小程序还有具有搜索功能,打开搜索页面可以输入想要找的小程序。
参考技术A

干货!分享一个人人都可以快速制作小程序的制作工具,全程不涉及到代码编程,非常简单和强大的功能轻而易举实现!

一、先去微信公众平台注册一个小程序下来!选择小程序,按照提示一步步进行填写,注册和认证耗时预计1天左右


二、要利用到呱呱赞这个小程序制作工具,挑选模板进行可视化制作,用鼠标拖拽模板来生成自己风格的小程序,拥有一个自己的小程序,只需点点几下。

    蛋糕奶茶小程序

    餐饮小程序

    生鲜水果小程序


    三、扫码提交上线

    拥有一个功能强大的小程序商城就是这么简单,有兴趣的都可以免费注册尝试哦

参考技术B 小程序的制作流程分为注册阶段和开发阶段,推荐去在线小程序制作平台。这个平台免代码拖曳式,在线生成小程序,可同时制作微信、头条、百度、抖音4种平台小程序。制作步骤如下:

1、直接在微信公众平台里面,点击立即注册进入。
2、选择服务号跳转。
3、点击快速注册并认证小程序。
4、如果没问题,就确认服务类目和上传文件。
5、填写相关的信息,选择确认注册。
6、点击新增商品,从而实现对应的管理。
7、修改其中的参数,以便选择绑定小程序。
8、完成上述操作以后,确认提交版本。

想要了解更多有关开发小程序的相关信息,推荐选择在线小程序制作平台。在线小程序制作平台不需要学习htmlphp、CSS等等的编程语言,不需耗费众多的资源和时间,根据自身实际需求,通过简单的操作修改,就可以轻松的制作出属于优质的小程序。

0代码,新手小白也能用!点击这里获取简单易用的小程序制作工具:小程序制作平台

参考技术C 如果你要定制开发小程序,建议找专业的第三方开发服务商,先看有没有相应的模板可以套,如果有模板可以套,个别功能可以另外再开发,这样省钱,而且可以快速上线。
1.下载微信官方的小程序开发工具,这个是编辑小程序和上传审核小程序必须的工具。
2.如果你是开发者,有开发经验。那你需要去看一下微信的开发文档,看一些案列和小程序的结构语法。
3.如果你不懂代码,不懂怎么开发小程序,主要有以下几种选择方式:
选择1:自己已有的开发团队开发或者组建团队开发,为什么一定要团队呢?小程序所需用到的东西比较多,前端后端各种都需要,简单的展示小程序我们就不说了,这种大多数商家是不会选择的,我们说的是具备展示+在线销售的小程序,当然也有人能够独立开发一个小程序,但是相对应的开发进度会比较慢,另外这类开发者薪资都不低,找他开发的话那后期维护肯定也是他了,这个成本一下子就高了很多,如果是团队的话开发进度会快很多,另外开发完成之后只需要出市场价留下一到两人维护即可(正常一个人就够了)。这种比较适合大型企业,有雄厚的资金支持。
选择2:找专业的开发公司外包开发大多数IT工作者应该都有在这类公司或者工作室工作的经历,直接写需求,外包公司按你的需求去开发,开发完成你就可以直接上产品使用,当然这也是需要一定时间的,而且价格也不会便宜多少,本身工种薪资水平就不低,加上专业性,价格高也说的通,这种比较适合中型企业,有自己的定制需求,开发成本也能够承受。
选择3:购买代码包,自己配置服务器在早几个月有很多这种在网络上售卖小程序代码包的,有真的也有假的,假的我们就不说了,大家自己注意就行,这种小程序通常是小程序模板,没有个性化设计,买了代码包自己部署服务器安装上去就行,当然也需要一定的IT基础,价格比前两种选择会便宜很多,功能类似的小程序买代码包的价格差不多是开发的十分之一,但是这个代码包的质量是无法保证的,建议找一个专业人士检查测试代码包,另外购买代码包也需要自己维护的,所以这种方式比较适合有能力和基础,出于其他原因不能自己开发的。能够减少开支。
选择4:找第三方平台,使用小程序模板相对前几种的话第四种算是中和了各项需求,商家可以什么都不会,直接到第三方平台试用小程序模板选择自己想要的购买,上传产品即可使用,不需要担心模板不好用,因为平台方会定期升级维护,也不需要开发时间,直接就可以使用,不需要自己配置服务器等等,功能也会顺时增加。自己只需要准备产品图片和价格表就行。
------------------------------
参考技术D 现在做一个小程序有以下两种方式:
1、定制开发公司,但是这种开发价格较高,上万,甚至十几万都有,还有就是开发周期较长,几个月,或者更长;
2、第三方平台开发,这种呢,开发价格较低,根据更能几千就可以实现,主要的是开发周期短,一个星期左右就可以上线运营,
至于如何选择怎么小程序开发公司,可以参考以下几点:
1、看其公司有无官方网站,如果一家互联网企业连网站都没有,那就可想而知了,皮包公司的可能性会大一些。
2、百度搜索开发商有没有负面消息,如果百度搜索出现关键词比如:骗子、骗人等相关字眼或是直接在搜索结果出现负面消息,那么这家企业就要慎重选择了。
3、打听其公司的业界口碑,找一些和该企业合作过的公司打听情况。一般来讲这个评价都是实打实的,很难弄虚作假。
4、看其案例,如果一家公司连一个软件开发的案例都没有,要么是刚刚成立的新公司要么是公司刚刚开始做这一块的业务。本回答被提问者采纳

java:编写一个计算器小程序,要求可以做加减乘除运算

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Calculator extends JFrame implements ActionListener
private static final long serialVersionUID = 8199443193151152362L;
private JButton bto_s=new JButton("sqrt"),bto_zf=new JButton("+/-"),bto_ce=new JButton("CE"),bto_c=new JButton("C"),bto_7=new JButton("7"),
bto_8=new JButton("8"),bto_9=new JButton("9"),bto_chu=new JButton("/"),bto_4=new JButton("4"),bto_5=new JButton("5"),
bto_6=new JButton("6"),bto_cheng=new JButton("*"),bto_1=new JButton("1"),bto_2=new JButton("2"),bto_3=new JButton("3"),
bto_jian=new JButton("-"),bto_0=new JButton("0"),bto_dian=new JButton("."),bto_deng=new JButton("="),bto_jia=new JButton("+");
JButton button[]=bto_s,bto_zf,bto_ce,bto_c,bto_7,bto_8,bto_9,bto_chu,bto_4,bto_5,bto_6,bto_cheng,bto_1,bto_2,bto_3,bto_jian,
bto_0,bto_dian,bto_deng,bto_jia;
private JTextField text_double;// = new JTextField("0");
private String operator = "="; //当前运算的运算符
private boolean firstDigit = true; // 标志用户按的是否是整个表达式的第一个数字,或者是运算符后的第一个数字
private double resultNum = 0.0; // 计算的中间结果
private boolean operateValidFlag = true; //判断操作是否合法
public Calculator()

super("Calculator");
this.setBounds(300, 300, 300, 300);
this.setResizable(false);
this.setBackground(Color.orange);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.getContentPane().setLayout(new BorderLayout());//设置布局
text_double=new JTextField("0",20);//设置文本区
text_double.setHorizontalAlignment(JTextField.RIGHT);//设置水平对齐方式未右对齐
this.getContentPane().add(text_double,BorderLayout.NORTH);//将文本区添加到Content北部
JPanel panel=new JPanel(new GridLayout(5,4));//在内容窗口添加一个网格布局
this.getContentPane().add(panel);//添加panel面板
for(int i=0;i<button.length;i++)//在面板上添加按钮
panel.add(button[i]);

for(int i=0;i<button.length;i++)
button[i].addActionListener(this);//为按钮注册
text_double.setEditable(false);//文本框不可编辑
text_double.addActionListener(this);//

this.setVisible(true);

public void actionPerformed(ActionEvent e)//

String c= e.getActionCommand();//返回与此动作相关的命令字符串。
System.out.println("##########command is "+c);
if(c.equals("C"))
handleC(); //用户按了“C”键

else if (c.equals("CE")) // 用户按了"CE"键

text_double.setText("0");

else if ("0123456789.".indexOf(c) >= 0) // 用户按了数字键或者小数点键

handleNumber(c); // handlezero(zero);
else //用户按了运算符键

handleOperator(c);


private void handleC() // 初始化计算器的各种值

text_double.setText("0");
firstDigit = true;
operator = "=";

private void handleNumber(String button)
if (firstDigit)//输入的第一个数字

text_double.setText(button);
else if ((button.equals(".")) && (text_double.getText().indexOf(".") < 0))//输入的是小数点,并且之前没有小数点,则将小数点附在结果文本框的后面
//如果字符串参数作为一个子字符串在此对象中出现,则返回第一个这种子字符串的第一个字符的索引;如果它不作为一个子字符串出现,则返回 -1

text_double.setText(text_double.getText() + ".");
else if (!button.equals("."))// 如果输入的不是小数点,则将数字附在结果文本框的后面

text_double.setText(text_double.getText() + button);

// 以后输入的肯定不是第一个数字了
firstDigit = false;

private void handleOperator(String button)

if (operator.equals("/"))
// 除法运算
// 如果当前结果文本框中的值等于0
if (getNumberFromText() == 0.0)
// 操作不合法
operateValidFlag = false;
text_double.setText("除数不能为零");
else
resultNum /= getNumberFromText();

else if (operator.equals("+"))
// 加法运算
resultNum += getNumberFromText();
else if (operator.equals("-"))
// 减法运算
resultNum -= getNumberFromText();
else if (operator.equals("*"))
// 乘法运算
resultNum *= getNumberFromText();
else if (operator.equals("sqrt"))
// 平方根运算
if(getNumberFromText()<0)
operateValidFlag = false;
text_double.setText("被开方数不能为负数");
else
resultNum = Math.sqrt(resultNum);

else if (operator.equals("+/-"))
// 正数负数运算
resultNum = resultNum * (-1);
else if (operator.equals("="))
// 赋值运算
resultNum = getNumberFromText();

if (operateValidFlag)
// 双精度浮点数的运算
long t1;
double t2;
t1 = (long) resultNum;
t2 = resultNum - t1;
if (t2 == 0)
text_double.setText(String.valueOf(t1));
else
text_double.setText(String.valueOf(resultNum));


operator = button; //运算符等于用户按的按钮
firstDigit = true;
operateValidFlag = true;

private double getNumberFromText() //从结果的文本框获取数字

double result = 0;
try
result = Double.valueOf(text_double.getText()).doubleValue(); // ValueOf()返回表示指定的 double 值的 Double 实例
catch (NumberFormatException e)

return result;

public static void main(final String[] args)
new Calculator();

参考技术A kankan我的

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.math.BigDecimal;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class TestCalc implements ActionListener
JFrame jf = new JFrame("计算器");
JPanel jp = new JPanel();
JTextField jtf = new JTextField("0.", 200);
JButton[] jb = new JButton[20];
private int tag = 0;
private double a;
private double b;
private String operator;
StringBuilder sb1 = new StringBuilder();
StringBuilder sb2 = new StringBuilder();

public TestCalc()

jf.add(jtf, BorderLayout.NORTH);
// jtf.requestFocus();
jtf.setEditable(false);
jtf.setCaretPosition(jtf.getText().length() - 1);
jf.add(jp);
jp.setLayout(new GridLayout(5, 4, 4, 4));
String[] str = "Back", "CE", "C", "+", "7", "8", "9", "-", "4", "5",
"6", "*", "1", "2", "3", "/", "0", "+/-", ".", "=" ;
int i = 0;
for (i = 0; i < str.length; i++)
jb[i] = new JButton(str[i]);

jp.add(jb[i]);
jb[i].addActionListener(this);


jf.setSize(300, 240);
// jf.setLocation(300,200);
jf.setLocationRelativeTo(null);
jf.setVisible(true);
// jf.pack();//自动调整大小;
jf.setResizable(false);// 不允许别人调大小;
jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


public static void main(String[] args)

TestCalc tc = new TestCalc();



public void actionPerformed(ActionEvent e)

String command = e.getActionCommand();
if (command.matches("^[[0-9].]$"))
if (tag == 0)
sb1.append(command);
jtf.setText(sb1.substring(0));
else
sb2.append(command);
jtf.setText(sb2.substring(0));


else if (command.matches("^[-/*+]$"))
tag = 1;
operator = command;

else
if (command.matches("="))
String str1 = sb1.substring(0);
String str2 = sb2.substring(0);
if (str1 == null)
a = 0.0;
else
a = Double.parseDouble(str1);

if (str2 == null)
b = 0.0;
else
b = Double.parseDouble(str2);


if (operator.equals("+"))
jtf.setText("" + (a + b));
else if (operator.equals("-"))
BigDecimal bd1 = new BigDecimal(Double.toString(a)); // 必须使用String做参数才可以精确运算
BigDecimal bd2 = new BigDecimal(Double.toString(b));
Double yu1 = bd1.subtract(bd2).doubleValue();
jtf.setText("" + (yu1));
else if (operator.equals("*"))
jtf.setText("" + (a * b));
else if (operator.equals("/"))
BigDecimal bd1 = new BigDecimal(Double.toString(a)); // 必须使用String做参数才可以精确运算
BigDecimal bd2 = new BigDecimal(Double.toString(b));
Double yu1 = bd1.divide(bd2).doubleValue();
jtf.setText("" + yu1);

tag = 0;
sb1.delete(0, sb1.length());
sb2.delete(0, sb2.length());
else if (command.matches("C"))
tag = 0;
sb1.delete(0, sb1.length());
sb2.delete(0, sb2.length());
jtf.setText("0.");
jtf.setCaretPosition(jtf.getText().length() - 1);
else if (command.matches("CE"))
tag = 0;
sb2.delete(0, sb2.length());
jtf.setText(sb1.substring(0));
else if (command.matches("Back")) //Back功能键的实现;
if (tag == 0)
sb1.deleteCharAt(sb1.length() - 1);
jtf.setText(sb1.substring(0));
else
sb2.deleteCharAt(sb2.length() - 1);
jtf.setText(sb2.substring(0));


else if (command.matches("\\+/-"))
if (tag == 0)
if(sb1.substring(0,1).equals("-"))
sb1.replace(0,1,"+");
else
sb1.insert(0, "-");


jtf.setText(sb1.substring(0));
else
if(sb2.substring(0,1).equals("-"))
sb2.replace(0,1,"+");
else
sb2.insert(0, "-");

jtf.setText(sb2.substring(0));


else






参考技术B 这是我做的小计算器,你看下,可以实现加减乘除。觉得好就采纳,谢谢啦。

import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class calculate

public static void main(String[] args)
jxframe kj=new jxframe();
kj.setVisible(true);
kj.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);


class jxframe extends JFrame

JTextField w;
private boolean pd;
private String bj;
private double result;
public jxframe()

setTitle("计算器");
pd=true;
bj="=";
result=0;
w=new JTextField(20);
add(w,"North");
add(new m(),"Center");
pack();


class m extends JComponent

public m()

setLayout(new GridLayout(4,4));
addbutton("7",new sz());
addbutton("8",new sz());
addbutton("9",new sz());
addbutton("/",new jx());
addbutton("4",new sz());
addbutton("5",new sz());
addbutton("6",new sz());
addbutton("*",new jx());
addbutton("1",new sz());
addbutton("2",new sz());
addbutton("3",new sz());
addbutton("+",new jx());
addbutton("0",new sz());
addbutton(".",new sz());
addbutton("=",new jx());
addbutton("-",new jx());

public void addbutton(String name,ActionListener e)

JButton an=new JButton(name);
an.addActionListener(e);
add(an);

class sz implements ActionListener

public void actionPerformed(ActionEvent e)

String sb=e.getActionCommand();
if(pd)

w.setText("");
pd=false;

w.setText(w.getText()+sb);


class jx implements ActionListener

public void actionPerformed(ActionEvent e)

String jb=e.getActionCommand();
if(pd)

jb.equals("-");
w.setText(jb);
pd=false;

else
js(Double.parseDouble(w.getText()));
bj=jb;
pd=true;



public void js(double jsb)

if(bj.equals("/")) result/=jsb;
if(bj.equals("*")) result*=jsb;
if(bj.equals("+")) result+=jsb;
if(bj.equals("-")) result-=jsb;
if(bj.equals("=")) result=jsb;
w.setText(""+result);


参考技术C 代码如下:
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class Accumulator extends JFrame implements ActionListener,ItemListener

public double result=0;
static String is="+";
JTextField jt1 = new JTextField(10);

JTextField jt2 = new JTextField(10);

JTextField jt3 = new JTextField(10);

JComboBox jcb = new JComboBox();

JButton jb = new JButton("=");
public Accumulator()
JPanel jp = new JPanel();
jp.setLayout(new FlowLayout());

jcb.addItemListener(this);
jcb.addItem("+");
jcb.addItem("-");
jcb.addItem("*");
jcb.addItem("/");

jb.addActionListener(this);

jp.add(jt1);
jp.add(jcb);
jp.add(jt2);
jp.add(jb);
jp.add(jt3);

this.setTitle("简易计算器");
this.add(jp);
this.setBounds(400, 350, 500, 300);
this.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
this.setVisible(true);


@Override
public void actionPerformed(ActionEvent ae)
if(ae.getSource()==jb)
if(is.equals("+"))
result =Double.parseDouble(jt1.getText())+Double.parseDouble(jt2.getText());
jt3.setText(String.valueOf(result));

if(is.equals("-"))
result =Double.parseDouble(jt1.getText())-Double.parseDouble(jt2.getText());
jt3.setText(String.valueOf(result));

if(is.equals("*"))
result =Double.parseDouble(jt1.getText())*Double.parseDouble(jt2.getText());
jt3.setText(String.valueOf(result));

if(is.equals("/"))
result =Double.parseDouble(jt1.getText())/Double.parseDouble(jt2.getText());
jt3.setText(String.valueOf(result));




public static void main(String [] args)
Accumulator ac = new Accumulator();


@Override
public void itemStateChanged(ItemEvent ie)
is =(String)ie.getItem();

以上是关于如何做一个小程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何开发小程序?

从零开始做一个微信小程序 如何申请微信小程序

怎么做微信小程序

商城小程序怎么制作?

小程序自己可以做吗?

微信小程序:做一个简单的商城小程序需要多少钱