JAVA实现数学函数图像

基础知识

在java.lang包中有个public final Math类,包含了基本的数字操作,如指数、对数、平方根和三角函数。

【Java的默认包是java.lang,即该包中的所有类不需要导包,不需要再写import,是默认导入的,其它包必须导入。Java就这么定义的,记住就可以了】。

java.lang.Math类中包含E和PI两个静态常量,以及进行科学计算的类(static)方法,可以直接通过类名调用。

public static final Double E = 2.7182818284590452354

public static final Double PI = 3.14159265358979323846

public static long abs(double x):传回 x 的绝对值。X也可int long float

public static long sin(double x): 传回x径度的正弦函数值

public static long cos(double x):传回x径度的余弦函数值

public static long tan(double x): 传回x径度的正切函数值

public static long asin(double x):传回x值的反正弦函数值。

public static long acos(double x):传回x值的反余弦函数值。

public static long atan(double x):传回x值的反正切函数值。

public static long atan2(double x, double y):传回极坐标(polar)的θ值

public static long floor(double x):传回不大于x的最大整数值

public static long ceil(double x):传回不小于x的最小整数值。

public static long exp(double x):传回相当于ex值

public static long log(double x):传回x的自然对数函数值

public static long max(double x,double y):传回x、y较大数

public static long min(double x,double y):传回x、y较小数

public static long pow(double x,double y):传回x的y次幂值

public static long sqrt(double x): 传回x开平方值

public static long rint(double x):传回最接近x的整数值

public static long round(double x):传回x的四舍五入值

public static long toDegrees(double angrad):传回将angrad径度转换成角度

public static long toRadians(double angdeg): 传回将angdeg角度转换成径度

public static long random():传回随机数值,产生一个0-1之间的随机数(不包括0和1)

关于 Java图形用户界面 可参见 https://blog.csdn.net/cnds123/article/details/113251233

下面给出多个示例代码,取自网络。

一、绘制sin函数图像

先看效果图

源码文件DrawSin.java内容如下:

import java.awt.Color;
import java.awt.Graphics;
import javax.swing.JFrame;public class DrawSin extends JFrame {private static int SCALE_X = 40; // X轴缩放倍数private static int SCALE_Y = 100; // Y轴缩放倍数private static int ORIGIN_X = 50; // 原点X private static int ORIGIN_Y = 0; // 原点Y private static int END_ARC = 360 * 2; // 画多长public void paint(Graphics g) {double ox = 0, oy = 0, x = 0, y = 0, arc = 0;super.paint(g);ORIGIN_Y = this.getHeight() / 2;// 画坐标轴g.drawLine(ORIGIN_X, ORIGIN_Y, this.getWidth(), ORIGIN_Y); // 横轴g.drawLine(ORIGIN_X, 0, ORIGIN_X, this.getHeight()); // 纵轴// 每90度画个标尺for (int i = 0; i < END_ARC; i += 90) {arc = Math.PI * i * 2 / 360;x = ORIGIN_X + arc * SCALE_X;g.drawLine((int) x, ORIGIN_Y - 10, (int) x, ORIGIN_Y + 10);}// 画正弦曲线g.setColor(Color.RED);for (int i = 0; i < END_ARC; i += 10) {arc = Math.PI * i * 2 / 360;x = ORIGIN_X + arc * SCALE_X;y = ORIGIN_Y + Math.sin(arc) * SCALE_Y;if (arc > 0) {g.drawLine((int) ox, (int) oy, (int) x, (int) y);}ox = x;oy = y;}}public static void main(String[] args) {DrawSin wnd = new DrawSin();wnd.setSize(600, 500);wnd.setVisible(true);}}

二、画函数图像

先看效果图

源码文件DrawFn.java 内容如下:

import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.geom.Line2D;
import java.awt.geom.Point2D;
import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.border.LineBorder; public class DrawFn extends JFrame implements ItemListener{private JTextField txt_c;private JTextField txt_b;private JTextField txt_a;public JComboBox chooseFun;//draw_actionAdapter adapter;public int A;public drawFnPanel panel = new drawFnPanel(); public static void main(String[] args) {DrawFn frame=new DrawFn();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setSize(800, 600);frame.setLocationRelativeTo(null);frame.setVisible(true); frame.setBackground(Color.BLACK);}public DrawFn() {super("画函数图像");final JLabel aLabel = new JLabel();aLabel.setForeground(Color.WHITE);aLabel.setText("a=");aLabel.setBounds(650, 10, 21, 18); //设置位置,大小getContentPane().add(aLabel);txt_a = new JTextField();txt_a.setBounds(680, 8, 60, 18);getContentPane().add(txt_a);//final JLabel bLabel = new JLabel();bLabel.setForeground(Color.WHITE);bLabel.setText("b="); bLabel.setBounds(650, 30, 21, 18); getContentPane().add(bLabel); txt_b = new JTextField(); txt_b.setBounds(680, 28, 60, 18); getContentPane().add(txt_b);//final JLabel cLabel = new JLabel(); cLabel.setForeground(Color.WHITE);cLabel.setText("c="); cLabel.setBounds(650, 50, 32, 18);getContentPane().add(cLabel);//this.setContentPane(cLabel); txt_c = new JTextField(); txt_c.setBounds(680, 48, 60, 18); getContentPane().add(txt_c);//this.setContentPane(txt_c);//设置按钮final JButton button = new JButton(); button.addActionListener(new draw_actionAdapter(this));//什么意思?button.setText("绘制"); button.setBounds(680, 80, 60, 18); getContentPane().add(button);//this.setContentPane(button);//定义下拉菜单final JLabel choose = new JLabel(); choose.setForeground(Color.WHITE);choose.setText("请选择函数类型:"); choose.setBounds(20, 5, 120, 20);getContentPane().add(choose);JPanel jp1=new JPanel();String []fun={"ax^2+bx+c","ae^bx+c","a*sin(PIx+b)+c","a*b^x+c","a*x^b+c","敬请期待"};chooseFun=new JComboBox(fun);chooseFun.setBounds(20, 30, 120, 20);jp1.add(chooseFun);chooseFun.setMaximumRowCount(3);getContentPane().add(chooseFun);chooseFun.addItemListener(this);getContentPane().add(panel);//this.setContentPane(panel);}public void itemStateChanged(ItemEvent e) {if(e.getStateChange()==e.SELECTED){A=chooseFun.getSelectedIndex();//System.out.println(A);}}public void paintFn(ActionEvent e){panel.paintFn(Integer.parseInt(txt_a.getText()), Integer.parseInt(txt_b.getText()), Integer.parseInt(txt_c.getText()));}class draw_actionAdapter implements ActionListener{ private DrawFn adapter; public draw_actionAdapter(DrawFn adapter){ this.adapter=adapter; } public void actionPerformed(ActionEvent e){//adapter.getA(e);adapter.paintFn(e);adapter.repaint();}} class drawFnPanel extends JPanel{private float fa; private float fb; private float fc;private int UnitLength=100;//可以任意改变该像素值public void paintFn(int a,int b,int c){fa=a;fb=b; fc=c; }public double Fun(double x){//System.out.println("A="+DrawFn.A);if(A==0)return fa*x*x+fb*x+fc;else if(A==1)return fa*Math.pow(Math.E, fb*x)+fc ;//这里可以输入任何函数else if(A==2)return fa*Math.sin(Math.PI*x+fb)+fc;else if(A==3)return fa*Math.pow(fb, x)+fc;else if(A==4)return fa*Math.pow(x,fb)+fc;elsereturn 0;}int width,height;int X,Y;//重载paintComponent函数public void paintComponent(Graphics g){g.setColor(Color.BLACK);width = this.getWidth();//获得宽度height = this.getHeight();//获得高度X=width/2;Y=height/2;//获得原点坐标this.drawAxes(g);this.function(g);}//画坐标轴private void drawAxes(Graphics g){g.setColor(Color.WHITE);g.drawLine(0, Y, width, Y);g.drawLine(X, 0, X, height);g.drawString("0",X + 2,Y +12); //画原点数字for(int i=1;i*UnitLength<width;i++){g.drawLine(X+i*UnitLength,Y-1,X+i*UnitLength,Y-6);//画X轴正向的小竖线g.drawLine(X - i*UnitLength, Y-1, X - i*UnitLength, Y-6);//画X轴负向的小竖线g.drawString(String.valueOf(i), X + i*UnitLength-3, Y + 12);  // x轴正向数字g.drawString(String.valueOf(i*-1), X - i*UnitLength-3, Y + 12);  // x轴负向数字//画Y轴g.drawLine(X+1,Y+i*UnitLength,X+6,Y+i*UnitLength);g.drawLine(X+1,Y-i*UnitLength,X+6,Y-i*UnitLength);g.drawString(String.valueOf(i), X-12, Y - i*UnitLength-3);g.drawString(String.valueOf(i*-1), X-12, Y + i*UnitLength-3);}}//实现任意函数函数图像public void function(Graphics g1){Point2D temp1,temp2;double x,y;//我们看到的坐标值Graphics2D g = (Graphics2D)g1;g.setColor(Color.WHITE);x = -1.0*X/UnitLength;//temp1返回面板的实际坐标值(以像素为单位)y = Fun(x);temp1 = new Point2D.Double(this.alterX(x * UnitLength), this.alterY(y * UnitLength));for(int i = 0 ; i < width; i++){x =x + 1.0/UnitLength;//前进一个像素y = Fun(x);if ( Math.abs(y) < Y){temp2 = new Point2D.Double(this.alterX(x * UnitLength), this.alterY(y * UnitLength));g.draw(new Line2D.Double(temp1, temp2));temp1 = temp2;}}//repaint();}//新坐标对应的原坐标private double alterX(double x){return  x + X;}private double alterY(double y){return -1 *( y - Y);}}
}

三、平面直角坐标系函数图像

源码文件UI.java和MyPanel.java组成

效果图如下:

提示:“输入函数”功能尚未实现!

源码文件UI.java 内容如下

package math;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
public class UI extends JFrame
{MyPanel mp;JPanel pl = new JPanel();JPanel pl1 = new JPanel(),pl2 = new JPanel(),pl3 = new JPanel(),pl4 = new JPanel();JRadioButton rb1,rb2;ButtonGroup bg = new ButtonGroup();JTextField tf = new JTextField(16);String[] s = {"y = sin(x)", "y = cos(x)", "y = tan(x)","y = pow(x, 2)", "y = pow(x, 3)", "y = log(x)","y = pow(2, x)", "y = sqrt(x)", "r = a(sita)"};JComboBox cb;JButton bn1 = new JButton("变宽"),bn2 = new JButton("变窄"),bn3 = new JButton("拉长"),bn4 = new JButton("压短"),bn = new JButton("绘图"),exit = new JButton("退出"),bn5 = new JButton("左移"),bn6 = new JButton("右移"),bn7 = new JButton("上移"),bn8 = new JButton("下移");public UI(){mp = new MyPanel(this);pl1.setLayout(new GridLayout(1, 2));pl2.setLayout(new GridLayout(1, 2));pl3.setLayout(new GridLayout(1, 2));pl4.setLayout(new GridLayout(1, 2));pl1.add(bn1); bn1.setEnabled(false);pl1.add(bn2); bn2.setEnabled(false);pl2.add(bn3); bn3.setEnabled(false);pl2.add(bn4); bn4.setEnabled(false);pl3.add(bn5); bn5.setEnabled(false);pl3.add(bn6); bn6.setEnabled(false);pl4.add(bn7); bn7.setEnabled(false);pl4.add(bn8); bn8.setEnabled(false);pl.setLayout(new GridLayout(20, 1));rb1 = new JRadioButton("输入函数");rb2 = new JRadioButton("选择已有函数");rb2.setSelected(true);tf.setEnabled(false);bg.add(rb1); bg.add(rb2);rb1.addActionListener(mp);rb2.addActionListener(mp);pl.add(rb1);pl.add(tf);pl.add(rb2);cb = new JComboBox(s);pl.add(cb);pl.add(new JLabel());pl.add(pl1); pl.add(pl2);pl.add(pl3); pl.add(pl4);pl.add(bn);pl.add(exit);bn1.addActionListener(mp);bn2.addActionListener(mp);bn3.addActionListener(mp);bn4.addActionListener(mp);bn5.addActionListener(mp);bn6.addActionListener(mp);bn7.addActionListener(mp);bn8.addActionListener(mp);bn.addActionListener(mp);exit.addActionListener(mp);this.setLayout(new BorderLayout());this.add(mp, BorderLayout.CENTER);this.add(pl, BorderLayout.EAST);this.setTitle("平面直角坐标系函数图像");this.setSize(797, 600 + 37);Dimension dn = Toolkit.getDefaultToolkit().getScreenSize();this.setLocation((dn.width - 797) / 2, (dn.height - 637) / 2);this.setVisible(true);this.setDefaultCloseOperation(3);}public static void main(String[] args){new UI();}
}

源码文件MyPanel.java 内容如下

package math;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import java.awt.geom.Ellipse2D;
import java.awt.geom.Line2D;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
public class MyPanel extends JPanel implements ActionListener,MouseMotionListener
{UI ui;int flag;double h_times;int w_times;int dx;int dy;String str;Point pt = new Point(0, 0);void init(){flag = -1;h_times = Math.PI / 100;w_times = 100;dx = 300;dy = 300;}public MyPanel(UI ui){this.addMouseMotionListener(this);init();this.ui = ui;}public void paintComponent(Graphics g){super.paintComponent(g);Graphics2D g2 = (Graphics2D)g;drawCoordinate(g2);Line2D line;g2.setColor(Color.BLUE);g2.drawString("(" + (pt.x - 300) + ", " + (300 - pt.y) + ")", pt.x + 20, pt.y + 20);switch(flag){case 0:g2.drawString("y = Asin(Bx + C) + D", 105, 60);for(double i = 0; i < 600; i += 0.01){line = new Line2D.Double(i, dy - Math.sin(getReal_X(i)) * w_times, i + 1, dy - Math.sin(getReal_X(i + 1)) * w_times);g2.draw(line);}break;case 1:g2.drawString("y = Acos(Bx + C) + D", 105, 60);for(double i = 0; i < 600; i += 0.01){line = new Line2D.Double(i, dy - Math.cos(getReal_X(i)) * w_times, i + 1, dy - Math.cos(getReal_X(i + 1)) * w_times);g2.draw(line);}break;case 2:g2.drawString("y = Atan(Bx + C) + D", 105, 60);for(double i = 0; i < 600; i += 0.01){line = new Line2D.Double(i, dy - Math.tan(getReal_X(i)) * w_times, i + 1, dy - Math.tan(getReal_X(i + 1)) * w_times);g2.draw(line);}break;case 3:g2.drawString("y = Apow(Bx + C, 2) + D", 105, 60);for(double i = 0; i < 600; i += 0.01){line = new Line2D.Double(i, dy - Math.pow(getReal_X(i), 2) * w_times, i + 1, dy - Math.pow(getReal_X(i + 1), 2) * w_times);g2.draw(line);}break;case 4:g2.drawString("y = Apow(Bx + C, 3) + D", 105, 60);for(double i = 0; i < 600; i += 0.01){line = new Line2D.Double(i, dy - Math.pow(getReal_X(i), 3) * w_times, i + 1, dy - Math.pow(getReal_X(i + 1), 3) * w_times);g2.draw(line);}break;case 5:g2.drawString("y = Alog(Bx + C) + D", 105, 60);for(double i = 0; i < 600; i += 0.01){line = new Line2D.Double(i, dy - Math.log(getReal_X(i)) * w_times, i + 1, dy - Math.log(getReal_X(i + 1)) * w_times);g2.draw(line);}break;case 6:g2.drawString("y = Apow(2, Bx + C) + D", 105, 60);for(double i = 0; i < 600; i += 0.01){line = new Line2D.Double(i, dy - Math.pow(2, getReal_X(i)) * w_times, i + 1, dy - Math.pow(2, getReal_X(i + 1)) * w_times);g2.draw(line);}break;case 7:g2.drawString("y = Asqrt(Bx + C) + D", 105, 60);for(double i = 0; i < 600; i += 0.01){line = new Line2D.Double(i, dy - Math.sqrt(getReal_X(i)) * w_times, i + 1, dy - Math.sqrt(getReal_X(i + 1)) * w_times);g2.draw(line);}break;case 8:g2.drawString("y = a(sita)", 105, 60);for(double i = 0; i < 600; i += 0.01){line = new Line2D.Double(getReal_X(i) * Math.cos(getReal_X(i)), dy - getReal_X(i) * Math.sin(getReal_X(i)) * w_times, getReal_X(i) * Math.cos(getReal_X(i + 1)), dy - getReal_X(i) * Math.sin(getReal_X(i + 1)) * w_times);g2.draw(line);}break;}if(flag != -1){g2.drawString("A = " + w_times, 105, 90);g2.drawString("B= " + h_times, 105, 120);g2.drawString("C= " + (300 - dx), 105, 150);g2.drawString("D= " + (300 - dy), 105, 180);}}private double getReal_X(double x){return (x - dx) * h_times;}private void drawCoordinate(Graphics2D g2){int len = 20;Line2D line;for(int i = 0; i <= 600 / len; i++){g2.setColor(Color.PINK.darker());if(i == 300 / len)g2.setColor(Color.RED);else;line = new Line2D.Double(0, i * len, 600, i * len);g2.draw(line);line = new Line2D.Double(i * len, 0, i * len, 600);g2.draw(line);}drawPoint(g2, 300, 300);}private void drawPoint(Graphics2D g2, double x, double y){g2.setColor(Color.YELLOW);Ellipse2D circle = new Ellipse2D.Double(x - 2, y - 2, 4, 4);g2.fill(circle);}public void actionPerformed(ActionEvent e){if(e.getSource() == ui.rb1){ui.tf.setEnabled(true);ui.cb.setEnabled(false);flag = -1;}if(e.getSource() == ui.rb2){ui.tf.setEnabled(false);ui.cb.setEnabled(true);}if(e.getSource() == ui.bn1){h_times /= 1.1;}if(e.getSource() == ui.bn2){h_times *= 1.1;}if(e.getSource() == ui.bn3){//   ui.bn4.setEnabled(true);w_times += 10;//   if(w_times >= 300)//   ui.bn3.setEnabled(false);}if(e.getSource() == ui.bn4){//   ui.bn3.setEnabled(true);w_times -= 10;//   if(w_times <= 0)//   ui.bn4.setEnabled(false);}if(e.getSource() == ui.bn5){dx -= 10;}if(e.getSource() == ui.bn6){dx += 10;}if(e.getSource() == ui.bn7){//   ui.bn8.setEnabled(true);dy -= 10;//   if(dy <= 0)//   ui.bn7.setEnabled(false);}if(e.getSource() == ui.bn8){//   ui.bn7.setEnabled(true);dy += 10;//   if(dy >= 600)//   ui.bn8.setEnabled(false);}if(e.getSource() == ui.bn){if(ui.tf.isEnabled() == true){str = ui.tf.getText();if(str == null || str.length() == 0){ui.bn1.setEnabled(false);ui.bn2.setEnabled(false);ui.bn3.setEnabled(false);ui.bn4.setEnabled(false);ui.bn5.setEnabled(false);ui.bn6.setEnabled(false);ui.bn7.setEnabled(false);ui.bn8.setEnabled(false);JOptionPane.showMessageDialog(this, "请输入函数表达式 !");return;}elseJOptionPane.showMessageDialog(this, "本功能尚未实现 !");}else flag = -2;ui.bn1.setEnabled(true);ui.bn2.setEnabled(true);ui.bn3.setEnabled(true);ui.bn4.setEnabled(true);ui.bn5.setEnabled(true);ui.bn6.setEnabled(true);ui.bn7.setEnabled(true);ui.bn8.setEnabled(true);init();if(ui.cb.isEnabled() == true){flag = ui.cb.getSelectedIndex();}}if(e.getSource() == ui.exit)System.exit(0);repaint();}public void mouseDragged(MouseEvent arg0){}public void mouseMoved(MouseEvent e){pt = e.getPoint();repaint();}
}

OK!

JAVA实现数学函数图像相关推荐

  1. 高一数学集合知识点整理_高一数学 | 高一数学函数图像知识点总结,实用!

    高一数学 | 高一数学函数图像知识点总结,实用! 一.基本初等函数的图像 1.一次函数 性质:一次函数图像是直线,当k>0时,函数单调递增:当k<0时,函数单调递减 2.二次函数 性质:二 ...

  2. 用Python绘制数学函数图像

    博客文章: https://blog.manchan.top/post/Drawing-mathematical-function-images-with-Python/可在此处找到我 前言 最近开始 ...

  3. 用c语言绘制数学函数图像,用c语言画数学函数图像.DOC

    用c语言画数学函数图像 时间:2007-02-13 作者:佚名 编辑:本站 点击: 2231 [评论] 符 outtextxy(CX+3,440-40*i,s); //以字符形式输出纵轴上的单位数字 ...

  4. java 画数学函数图

    java 画数学函数图不太方便,需要用第三方包 jfree,安装或下载方法网上有. 要用到 jfree 里面的 XYSeries,生成一系列数据. 然后根据生成的数据,使用 chart 描点画图. 举 ...

  5. 基于 function-plot.js 开源库绘制数学函数图像实现兼文档翻译

    一.前言: 前段时间移动项目想实现一个能实时绘制数学函数图像的H5小应用, app 通过 webview 进行嵌入,目前网上提供了大致有两种方法: ①.Chart.js 结合 Plugins 绘制 = ...

  6. htm+JS实现绘制数学函数图像

    htm+JS实现绘制数学函数图像 其中常用的函数可参见,JS中常用的Math方法 https://blog.51cto.com/u_10725738/5253407 https://www.jb51. ...

  7. 妙笔生画:用desmos在线绘制y=f(x)或z=f(x,y)数学函数图像

    有的时候,我们想看一看数学函数y=x2+6xlogxy=x^2+6xlogxy=x2+6xlogx或z=x3+y2z=x^3+y^2z=x3+y2到底长什么样,想画出这个数学函数,方便观察这个函数的某 ...

  8. 简单的用c语言画数学函数图像

    大家好 今天给大家分享画y=2sin(2x)函数图像的简单易用例子 首先需要搭建环境 需要装一个可以编译运行c/c++代码的IDE(集成开发环境)VS ,VC6.0等.我推荐VS2019 需要安装Ea ...

  9. python实现数学函数图像

    python实现数学函数图像 预备知识 使用python绘制基本初等函数 在数学里,基本初等函数包括幂函数.指数函数.对数函数.三角函数.反三角函数.常数函数.不同函数的定义: python标准库[注 ...

  10. java 绘制sin函数图像_第11讲 数学软件Mathematica内置函数的使用规则

    点"考研竞赛数学"↑可每天"涨姿势"哦!  本讲主要内容:●基本数学函数及使用规则●基本初等函数运算举例及方法扩展规定:用于数学计算的函数简称为函数:把用于完成 ...

最新文章

  1. P1514 引水入城
  2. 【机器学习】UMAP:强大的可视化降维工具
  3. 硬核Redis总结,看这篇就够了!
  4. 云计算学习(4-3)虚拟化技术-存储虚拟化
  5. 一文读懂YOLOv5 与 YOLOv4
  6. 笔记本电脑连接打印机_傻瓜操作,轻松搞定工作中各种打印难题,兄弟激光打印机开箱体验...
  7. CSS-Box模型--理解与整理
  8. linux_安装_SecureCRT下载安装登陆ubuntu配色和文件传输
  9. Java 谷歌翻译 api 调用
  10. Rational Rose安装使用教程
  11. 华为21天云计算培训
  12. 干货 | Spark Streaming 和 Flink 详细对比
  13. 第一课:两种方法教你如何注册小程序账号
  14. 0922CSP-S模拟测试赛后总结
  15. 读书笔记-真实的诸葛亮-2
  16. Allegro-CRTL键的使用
  17. 质量管理与过程改进-质量管理方案
  18. 使用MindStudio进行城市道路交通预测
  19. 13岁男孩偷开公交车 连撞12车撞断电线杆
  20. VBA-使用msgbox对话框

热门文章

  1. 完美代码,让你的代码无懈可击
  2. 计算机桌面快捷方式误删了,电脑把桌面快捷方式删除了怎么办?电脑快捷方式删除了的恢复方法...
  3. 数字图像处理 冈萨雷斯(第四版)距离测度
  4. 常用的5种数据分析方法有哪些?
  5. 数电课设—智力抢答器(五路抢答器),已在Proteus8.9版本中仿真通过
  6. 一二线城市有哪些值得加入的互联网公司?
  7. 也许下一个倾家荡产的就是你
  8. VBa运行c语言程序,Excel VBA编程详解
  9. cydia 未能连接服务器,cydia闪退解决办法_cydia无法连接网络问题怎么解决
  10. Linux高级程序设计第三版电子版PDF