sap系统连接其它系统

本文来自博客园,作者:Lovemywx2,转载请注明原文链接:https://www.cnblogs.com/1187163927ch/p/8669859.html

JAVA连接ORACLE数据库

1,首先需要在Oracle安装完成之后新建一个用户

--新建用户
create user chenh identified by chenh;
--解锁用户
alter user chenh account unlock;
alter user scott account unlock;
--修改密码
alter user chenh identified by chenh;
--授予权限
grant sysdba to chenh;
--授予chenh用户创建session的权限,即登陆权限
grant create session to chenh;
--授予chenh用户使用表空间的权限
grant unlimited session to chenh;
--授予创建表的权限
grant create table to chenh;
--授予删除表的权限
grant drop table to chenh;
--插入表的权限
grant insert table to chenh;
--修改表的权限
grant update table to chenh;
--查看当前数据库实例名
select name from v$database;
--提交事务
commit;

2.用户新建完成之后,可能会出现某个用户对标users没有权限的提示

1   -- 解决用户 XX 对 users表空间没有权限的问题
2  alter user chenh quota unlimited on users; 

3.新建一个测试表以及向其中插入几条数据

--删除表
drop table a;
--新建表
create table a(
col1 varchar2(10),
col2 varchar2(10),
col3 varchar2(10),
col4 varchar2(10)
);
--查询
select * from a;
--插入语句 多执行几次,因为没有主键限制,故此处可以执行多次
insert into a (col1,col2,col3,col4) values ('a1','b','c','d');

commit;

4.需要在eclipse中新建一个java项目

打开eclipse(myeclipse)-> File(文件)-> New(新建) ->Project(工程) -> Java Project (Java 工程)

  Project Name: 项目名称 接着一路Next(下一步)或者直接Finish(完成)

5.需提前下载ojdbc6.jar 连接数据库驱动的JAR包

  这里提供下载地址:https://files.cnblogs.com/files/1187163927ch/blog.rar

      解压密码:1187163927

6.在eclipse(myeclipse)新建的项目中将ojdbc6.jar导入,记得build path.

  打开该项目树状图,将下载好的ojdbc6.jar直接拖到该项目中,然后鼠标左键选中该文件,右键Build Path即可。

7.新建一个java类,在其中连接数据库

  7.1连接数据库驱动

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class DBConnection {
    public static Connection dbConn(String name, String pass) {
       Connection c = null;
       try {
           Class.forName("oracle.jdbc.driver.OracleDriver");
           // 要是导入驱动没有成功的话都是会出现classnotfoundException.自己看看是不是哪里错了,例如classpath这些设置
       } catch (ClassNotFoundException e) {
           e.printStackTrace();
       }
       try {
           c = DriverManager.getConnection(
                  "jdbc:oracle:thin:@localhost:1521:chenh", name, pass);
           // 连接数据的方法有四种, 这个属于最简单的,一般用网页程序 chenh是你的数据库实例名称,在下载的文件test.sql中可以执行语句查看
           // "jdbc:oracle:thin:@计算机名称:监听端口:系统实例名", username, password,
           // 计算机名称,要是自己不知道可以在计算机属性查知.
           // 监听端口一般默认是1521, 要是改变了就看自己的监听文件listener.ora
           // 系统实例名一般是默认orcl, 要是不是的话就用 select name from v$database; 看看当前的实例名.在本程序中我更改了实例为chenh
           // username,password,就是登陆数据库的用户名和密码.


       } catch (SQLException e) {
           e.printStackTrace();
       }
       return c;
    }
}

    7.2 查询数据库

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DB extends DBConnection {
    private static Connection con = null;
    private static Statement sql = null;
    private static ResultSet rs = null;


    public static void main(String[] args) throws SQLException {
       String COL1;
       String COL2;
       String COL3;
       String COL4;
       try {
           con = dbConn("chenh", "chenh");
           if (con == null) {
              System.out.print("连接失败");
              System.exit(0);
           }
           sql = con.createStatement();
           rs = sql.executeQuery("select * from a");
           System.out.println("COL1" + "            " + "COL2" + "             "+ "COL3"+ "             "+ "COL4");
           while (rs.next()) {
              COL1 = rs.getString(1);
              COL2 = rs.getString(2);
              COL3 = rs.getString(3);
              COL4 = rs.getString(4);
              System.out.println(COL1 + "         " + COL2 + "         " + COL3+ "         " + COL4);
           }
       } catch (Exception e) {
           e.printStackTrace();


       } finally {
           con.close();
       }
    }
}

检查不报错之后,执行按钮,选中项目  右键 -> Run As -> Java Application  可看到如下结果:

本文来自博客园,作者:Lovemywx2,转载请注明原文链接:https://www.cnblogs.com/1187163927ch/p/8670409.html

JAVA连接SAP

1.首先需要在SAP事务码SE37中新建一个可以被远程调用的RFC

事务码:SE37

新建一个函数组:输入事务码SE37回车后,来到函数构建器屏幕,到上面一排菜单栏:转到 -> 函数组 -> 创建组

 输入描述信息,方便以后使用,以后功能相似的函数都可以放到该函数组下

 函数组创建完毕后,回到SE37初始界面,创建函数,键入函数名后,点击创建按钮

在属性页签下,输入函数的描述,将远程启用的模块选上

在导入导出参数页签下设置输入输出参数(远程调用模块的注入,输出),要注意参考类型,可选性和传递值

 

在源代码中

FUNCTION zchenh001.
*"----------------------------------------------------------------------
*"*"局部接口:
*"  IMPORTING
*"     VALUE(P1) TYPE  INT4 DEFAULT 0
*"     VALUE(P2) TYPE  INT4 DEFAULT 0
*"     VALUE(OPERATOR) TYPE  CHAR1 DEFAULT '+'
*"  EXPORTING
*"     VALUE(RESULT) TYPE  INT4
*"     VALUE(MSG) TYPE  CHAR255
*"----------------------------------------------------------------------
  DATA:err_text TYPE string,
       e TYPE REF TO cx_root.
  TRY .
    CASE operator.
      WHEN '+'.       result = p1 + p2.
      WHEN '-'.       result = p1 - p2.
      WHEN '*'.       result = p1 * p2.
      WHEN '/'.       result = p1 / p2.
      WHEN OTHERS.
        CONCATENATE '操作符' operator ',SAP无法识别' into msg.
    ENDCASE.
    CATCH cx_root INTO e.
      err_text = e->get_text( ).
      msg = err_text.

  ENDTRY.

ENDFUNCTION.

 在SAP中测试如下:

测试一:

测试二:

 

测试三:

 

测试四:

 接下来需要下载连接SAP的驱动sapjco3.jar包,

本处提供下载:sapjco3.jar

  解压密码:1187163927

激活后可以在SAP内部测试 ,至此SAP部分已完成

2在eclipse(myeclipse)新建的项目中将sapjco3.jar导入,记得build path.

  打开该项目树状图,将下载好的sapjco3.jar直接拖到该项目中,然后鼠标左键选中该文件,右键Build Path即可。

 2.1 配置与SAP系统的连接(此处最好在SAP系统中新建一个RFC用户)

package com.cee.conn;

import java.io.File;
import java.io.FileOutputStream;
import java.util.Properties;
import java.util.logging.Logger;

import com.sap.conn.jco.JCoDestination;
import com.sap.conn.jco.JCoDestinationManager;
import com.sap.conn.jco.JCoException;
import com.sap.conn.jco.ext.DestinationDataProvider;

/**
 * 与SAP连接配置
 *
 * @author jay
 */
public class SAPConn {
    private static final String ABAP_AS_POOLED = "ABAP_AS_WITH_POOL";
    static {
        Properties connectProperties = new Properties();
        connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "xxxx.xxxx.xxxx.xxxx");// 服务器
        connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, "xx"); // 系统编号
        connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "xxx"); // SAP集团
        connectProperties.setProperty(DestinationDataProvider.JCO_USER, "xxxx"); // SAP用户名
        connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "xxxxx"); // 密码
        connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "ZH"); // 登录语言:ZH EN
        connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, "3"); // 最大连接数
        connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, "10"); // 最大连接线程

        createDataFile(ABAP_AS_POOLED, "jcoDestination", connectProperties);
    }

    /**
     * 创建SAP接口属性文件。
     *
     * @param name
     *            ABAP管道名称
     * @param suffix
     *            属性文件后缀
     * @param properties
     *            属性文件内容
     */
    private static void createDataFile(String name, String suffix, Properties properties) {
        File cfg = new File(name + "." + suffix);
        if (cfg.exists()) {
            cfg.deleteOnExit();
        }
        try {
            FileOutputStream fos = new FileOutputStream(cfg, false);
            properties.store(fos, "for tests only !");
            fos.close();
        } catch (Exception e) {
            System.out.println("Create Data file fault, error msg: " + e.toString());
            throw new RuntimeException("Unable to create the destination file " + cfg.getName(), e);
        }
    }

    /*
     * * 获取SAP连接
     *
     * @return SAP连接对象
     */
    public static JCoDestination connect() {
        JCoDestination destination = null;
        try {
            destination = JCoDestinationManager.getDestination(ABAP_AS_POOLED);
        } catch (JCoException e) {
            System.out.println("Connect SAP fault, error msg: " + e.toString());
        }
        return destination;
    }
}

2.2 在java代码中测试连接

package com.cee.test;
import java.io.ObjectInputStream.GetField;
import com.cee.conn.SAPConn;
import com.sap.conn.jco.JCoDestination;
import com.sap.conn.jco.JCoFunction;
import com.sap.conn.jco.JCoParameterList;
import com.sap.conn.jco.JCoTable;

public class CheckSnFromSAP {
    public static void main(String[] args) {
        JCoFunction function = null;
        JCoDestination destination = SAPConn.connect();
        int result=0;//调用接口返回状态
        String message="";//调用接口返回信息
        try {
            //调用ZCHENH001函数
            function = destination.getRepository().getFunction("ZCHENH001");
            JCoParameterList input = function.getImportParameterList();
            input.setValue("P1", 10);
            input.setValue("P2", 2);
            input.setValue("OPERATOR", "?"); // 输入参数
            function.execute(destination);
            result= function.getExportParameterList().getInt("RESULT");//调用接口返回结果
            message= function.getExportParameterList().getString("MSG");//调用接口返回信息
            System.out.println("调用返回结果--->"+result+";调用返回状态--->"+message);
        }catch (Exception e) {
            e.printStackTrace();
        }
    }
}

运行结果如下:

测试一: 注入参数分别为:10,2,?

测试二: 注入参数分别为:10,2,/

 

JAVA调用SAP多个环境数据

1.生成通用配置文件

import java.io.File;
import java.io.FileOutputStream;
import java.util.Properties;
import com.sap.conn.jco.JCoDestination;
import com.sap.conn.jco.JCoDestinationManager;
import com.sap.conn.jco.JCoException;
import com.sap.conn.jco.ext.DestinationDataProvider;

/**
 * 与SAP连接配置
 *
 * @author 陈辉
 * @version v1.01
 *
 */
public class SAPConn {
    private static final String S4I100 = "ABAP_AS_WITH_POOL_S4DI00";
    private static final String S4D100 = "ABAP_AS_WITH_POOL_S4D100";
    private static final String S4D200 = "ABAP_AS_WITH_POOL_S4D200";
    private static final String S4D360 = "ABAP_AS_WITH_POOL_S4D360";
    private static final String S4Q800 = "ABAP_AS_WITH_POOL_S4Q800";
    private static final String S4P800 = "ABAP_AS_WITH_POOL_S4P800";
    static {
        Properties connectProperties = new Properties();

        connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "xxxx.xxxx.xxxx");// 服务器
        connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, "xx"); // 系统编号
        connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "xxx"); // SAP集团
        connectProperties.setProperty(DestinationDataProvider.JCO_USER, "XXXX"); // SAP用户名
        connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "XXXXXXXX"); // 密码
        connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "ZH"); // 登录语言:ZH EN
        connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, "3"); // 最大连接数
        connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, "10"); // 最大连接线程
        createDataFile(S4I100, "jcoDestination", connectProperties);

        connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "xxxx.xxxx.xxxx");// 服务器
        connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, "xx"); // 系统编号
        connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "xxx"); // SAP集团
        connectProperties.setProperty(DestinationDataProvider.JCO_USER, "XXXX"); // SAP用户名
        connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "XXXXXXXX"); // 密码
        connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "ZH"); // 登录语言:ZH EN
        connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, "3"); // 最大连接数
        connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, "10"); // 最大连接线程
        createDataFile(S4D100, "jcoDestination", connectProperties);

        connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "xxxx.xxxx.xxxx");// 服务器
        connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, "xx"); // 系统编号
        connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "xxx"); // SAP集团
        connectProperties.setProperty(DestinationDataProvider.JCO_USER, "XXXX"); // SAP用户名
        connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "XXXXXXXX"); // 密码
        connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "ZH"); // 登录语言:ZH EN
        connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, "3"); // 最大连接数
        connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, "10"); // 最大连接线程
        createDataFile(S4D200, "jcoDestination", connectProperties);

        connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "xxxx.xxxx.xxxx");// 服务器
        connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, "xx"); // 系统编号
        connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "xxx"); // SAP集团
        connectProperties.setProperty(DestinationDataProvider.JCO_USER, "XXXX"); // SAP用户名
        connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "XXXXXXXX"); // 密码
        connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "ZH"); // 登录语言:ZH EN
        connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, "3"); // 最大连接数
        connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, "10"); // 最大连接线程
        createDataFile(S4D360, "jcoDestination", connectProperties);

        connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "xxxx.xxxx.xxxx");// 服务器
        connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR, "xx"); // 系统编号
        connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "xxx"); // SAP集团
        connectProperties.setProperty(DestinationDataProvider.JCO_USER, "XXXX"); // SAP用户名
        connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "XXXXXXXX"); // 密码
        connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "ZH"); // 登录语言:ZH EN
        connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, "3"); // 最大连接数
        connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, "10"); // 最大连接线程
        createDataFile(S4Q800, "jcoDestination", connectProperties);

        // 组登录
        connectProperties.setProperty(DestinationDataProvider.JCO_R3NAME, "S4P");// SYSTEM ID
        connectProperties.setProperty(DestinationDataProvider.JCO_MSHOST, "10.10.10.10");// 服务器
        connectProperties.setProperty(DestinationDataProvider.JCO_MSSERV, "3601"); // Message Server 服务端口
        connectProperties.setProperty(DestinationDataProvider.JCO_GROUP, "S4P"); // 组名称
        connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "800"); // SAP集团
        connectProperties.setProperty(DestinationDataProvider.JCO_USER, "XXXXXX"); // SAP用户名
        connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "XXXXXX"); // 密码
        connectProperties.setProperty(DestinationDataProvider.JCO_LANG, "ZH"); // 登录语言:ZH EN
        connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, "3"); // 最大连接数
        connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT, "10"); // 最大连接线程
        connectProperties.setProperty(DestinationDataProvider.JCO_MAX_GET_TIME, "360"); // 最大连接时间
        connectProperties.setProperty(DestinationDataProvider.JCO_SAPROUTER, "");// ROUTER
        createDataFile(S4P800, "jcoDestination", connectProperties);
    }

    /**
     * 创建SAP接口属性文件。
     *
     * @param name       ABAP管道名称
     * @param suffix     属性文件后缀
     * @param properties 属性文件内容
     */
    private static void createDataFile(String name, String suffix, Properties properties) {
        File cfg = new File(name + "." + suffix);
        if (cfg.exists()) {
            cfg.deleteOnExit();
        }
        try {
            FileOutputStream fos = new FileOutputStream(cfg, false);
            properties.store(fos, "仅仅测试使用");
            fos.close();
        } catch (Exception e) {
            System.out.println("创建参数配置文件失败: " + e.toString());
            throw new RuntimeException("无法创建创建参数文件:" + cfg.getName(), e);
        }
    }

    /*
     * * 获取SAP连接
     *
     * @return SAP连接对象
     */
    public static JCoDestination connect(String SYSTEM) {
        JCoDestination destination = null;
        try {
            switch (SYSTEM) {
            case "S4I100":
                destination = JCoDestinationManager.getDestination(S4I100);
                break;
            case "S4D100":
                destination = JCoDestinationManager.getDestination(S4D100);
                break;
            case "S4D200":
                destination = JCoDestinationManager.getDestination(S4D200);
                break;
            case "S4D360":
                destination = JCoDestinationManager.getDestination(S4D360);
                break;
            case "S4Q800":
                destination = JCoDestinationManager.getDestination(S4Q800);
                break;
            case "S4P800":
                destination = JCoDestinationManager.getDestination(S4P800);
                break;
            default:
                destination = JCoDestinationManager.getDestination(S4D360);
                break;
            }
            System.out.println("已经连接到SAP: " + SYSTEM + "环境...");
        } catch (JCoException e) {
            System.out.println("无法连接到SAP: " + e.toString());
        }
        return destination;
    }
}

 2.调用测试RFC_READ_TABLE

import com.sap.conn.jco.JCoDestination;
import com.sap.conn.jco.JCoField;
import com.sap.conn.jco.JCoFunction;
import com.sap.conn.jco.JCoParameterList;
import com.sap.conn.jco.JCoTable;

public class FM_RFC_READ_TABLE {
    enum SAP_SYSTEM {
        S4I100, S4D100, S4D200, S4D360, S4Q800, S4P800,
    }

    public static void main(String[] args) {
        JCoFunction function = null;
        JCoDestination destination = SAPConn.connect(SAP_SYSTEM.S4I100.toString());
        try {
            function = destination.getRepository().getFunction("RFC_READ_TABLE");
            JCoParameterList input = function.getImportParameterList();
            input.setValue("QUERY_TABLE", "T001");// 表名
            input.setValue("DELIMITER", ";");// 查询分隔符
            input.setValue("ROWCOUNT", "100");// 条目数

            JCoTable OPTIONS = function.getTableParameterList().getTable("OPTIONS");
            OPTIONS.appendRow();
            OPTIONS.setValue("TEXT", "BUKRS > 1000 AND LAND1 = 'CN' ");// 条件

            JCoTable FIELDS = function.getTableParameterList().getTable("FIELDS");
            FIELDS.appendRow();
            FIELDS.setValue("FIELDNAME", "MANDT");
            FIELDS.appendRow();
            FIELDS.setValue("FIELDNAME", "BUKRS");
            FIELDS.appendRow();
            FIELDS.setValue("FIELDNAME", "BUTXT");
            FIELDS.appendRow();
            FIELDS.setValue("FIELDNAME", "ORT01");
            // 其他字段...

            function.execute(destination);
            FIELDS = function.getTableParameterList().getTable("FIELDS");

            for (int i = 0; i < FIELDS.getNumRows(); i++) {
                FIELDS.setRow(i);
                for (JCoField fields : FIELDS) {
                    if (fields.getName().toString().equals("FIELDNAME")) {
                        System.out.print(String.format("%s\t", fields.getValue()));
                    }
                }
            }
            System.out.println();
            JCoTable DATA = function.getTableParameterList().getTable("DATA");// 调用接口返回信息
            for (int i = 0; i < DATA.getNumRows(); i++) {
                DATA.setRow(i);
                for (JCoField fields : DATA) {
                    String[] field = fields.getValue().toString().split(";");
                    for (int j = 0; j < field.length; j++) {
                        System.out.print(String.format("%s\t", field[j]));
                    }
                }
                System.out.println();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/175523.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C盘变红怎么办?一个快速解决C盘快满的方法

前情提要 通常解决C盘快满的方法是&#xff1a; 找到C盘—右击选择“属性”—选择“详细信息”—卸载不常用的软件或者清除临时文件 缺点&#xff1a;成效甚微 今日重点 1.背景知识&#xff1a;微信是我们日常工作和生活都离不开的工具&#xff0c;我们每天使用微信会产生大量…

Java线程的学习

本来我以为这可能只是Java里的一小块知识点&#xff0c;但当我搜索自己关注的Up主的网课时&#xff0c;觉得还是开一个系列来记录好了。我的记录绝不仅仅是照搬课程中的内容&#xff0c;我会带上自己的理解以及示例代码、并且是按照本人的专业课老师上课的节奏来记录&#xff0…

【开源】基于Vue和SpringBoot的教学过程管理系统

项目编号&#xff1a; S 054 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S054&#xff0c;文末获取源码。} 项目编号&#xff1a;S054&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 教师端2.2 学生端2.3 微信小程序端2…

近期为何事故频发,企业安全生产如何保障?

近期&#xff0c;多地陆续发生了一系列企业安全生产事故&#xff0c;给企业和员工带来了严重的生命和财产损失&#xff0c;引发了社会各界对安全生产问题的广泛关注。安全生产是企业发展的重要保障&#xff0c;然而&#xff0c;企业在追求经济效益的过程中&#xff0c;往往忽视…

单链表OJ题--6.链表分割

6.链表分割 链表分割_牛客题霸_牛客网 (nowcoder.com) /* 解题思路 创建两个链表&#xff0c;分别存放小于x的节点和大于等于x的节点&#xff0c;分别进行尾插 */ class Partition { public:ListNode* partition(ListNode* pHead, int x) {if(pHead NULL)return NULL;struct …

AMESim|Make failed:Unable to create an excutable for the system

最近在AMESIM与MATLAB进行联合仿真的时候遇到如下问题&#xff1a; Make failed:Unable to create an excutable for the system. 看了网上的解决办法如下 配置环境变量重装AMESIM&#xff0c;有顺序要求&#xff0c;首先是VS&#xff0c;然后是AMESIM与MATLAB。在AMESIM安装…

无法创建 8192 MB 的匿名分页文件: 系统资源不足,无法完成请求的服务。

好久没用VMware Workstation&#xff0c;今天突然要用&#xff0c;发现所有的虚机在启动的时候提示都提示&#xff1a; 无法创建 XXXX MB 的匿名分页文件&#xff1a;页面文件太小&#xff0c;无法完成操作。 未能分配主内存。 模块"MainMem"启动失败。 未能启动…

手写promis(2)-- 链式编程篇

目录 链式编程 处理异常 和普通内容 链式编程---处理返回promise 链式编程---处理重复引用 链式编程--rejected 链式编程--处理padding状态 链式编程 处理异常 和普通内容 1.返回promise实例&#xff1a;在原本then方法里边创建新promise2.获取返回值&#xff1a;把原本…

淘宝商品详情页面数据(商品详情数据,商品sku数据,商品价格数据,商品优惠券数据,商品评论数据)接口代码流

淘宝API接口可以运用到多种业务场景中&#xff0c;以下列举了一些主要的场景&#xff1a; 商品信息展示&#xff1a;通过调用淘宝API详情接口&#xff0c;可以获取商品的详细信息&#xff0c;如商品标题、价格、库存、销量、评价等数据。这些信息可以用于在自己的网站或应用程…

WIN10 WIN11 12代 13代 大小核;性能核;电源选项;P-core,E-core;

WIN10 WIN11 12代 13代 大小核&#xff1b;性能核&#xff1b;电源选项&#xff1b;P-core,E-core&#xff1b; WIN10 WIN11 12代 13代 大小核;性能核&#xff1b;电源选项&#xff1b;P-core,E-core;说明&#xff1a;方法&#xff1a;1。右键开始菜单&#xff0c;选择“Window…

arcgis中投影文件(.prj)和地理转换文件(.gtf)存储路径

1、投影文件&#xff08;自定义的.prj&#xff09;的存储路径 C:\Users\14635\AppData\Roaming\ESRI\Desktop10.5\ArcMap\Coordinate Systems 2、地理转换文件&#xff08;.gtf&#xff09;--自定义 C:\Users\14635\AppData\Roaming\ESRI\Desktop10.5\ArcToolbox\CustomTransfo…

早安,朋友!每天问候语祝你天天好心情,事事都顺意

1、今天的风儿轻柔无比&#xff0c;今天的花儿香飘万里&#xff1b;今天的鸟儿十分欢喜&#xff0c;今天的云儿满载笑意&#xff1b;今天的事儿万分顺利&#xff0c;今天的人儿如此甜蜜&#xff0c;所有美好的一切同我的早安连在一起&#xff0c;祝你天天好心情&#xff0c;事事…

护眼灯什么价位的好?适合学生入手的护眼台灯推荐

据60年前的统计&#xff0c;中国人口的近视率约为10%至20%。 国家卫健委发布的中国首份眼健康白皮书显示&#xff0c;我国小学生近视率为47.2%&#xff0c;初中生近视率为75.8%&#xff0c;大学生近视率超过90%。如今&#xff0c;“低头族”随处可见&#xff0c;近视人群日益增…

污水处理智能化:污水处理拓扑图的未来发展趋势

随着城市化进程的不断加速&#xff0c;城市污水处理已经成为了一个重要的问题。污水处理不仅关系到城市环境的质量&#xff0c;还直接影响着人们的生活质量和健康。污水处理拓扑图作为一种新型的污水处理技术&#xff0c;已经被广泛应用于各种污水处理设施中。本文将介绍污水处…

【shell】shell指令学习

仅供本人自学&#xff0c;完全从自己可以理解的角度写的&#xff0c;知识点都是copy网上已有的学习资料&#xff0c;侵权请联系本人删除&#xff0c;谢谢。 1. 文本资料学习 学习Linux&#xff0c;从掌握grep、sed、awk开始吧。 Linux文本三剑客超详细教程—grep、sed、awk …

排序算法--选择排序

实现逻辑 ① 第一轮从下标为 1 到下标为 n-1 的元素中选取最小值&#xff0c;若小于第一个数&#xff0c;则交换 ② 第二轮从下标为 2 到下标为 n-1 的元素中选取最小值&#xff0c;若小于第二个数&#xff0c;则交换 ③ 依次类推下去…… void print_array(int a[], int n){f…

NX二次开发UF_CAM_PREF_ask_logical_value 函数介绍

文章作者&#xff1a;里海 来源网站&#xff1a;https://blog.csdn.net/WangPaiFeiXingYuan UF_CAM_PREF_ask_logical_value Defined in: uf_cam_prefs.h int UF_CAM_PREF_ask_logical_value(UF_CAM_PREF_t pref, logical * value ) overview 概述 This function provides …

线性代数 - 几何原理

目录 序言向量的定义线性组合、张成空间与向量基线性变换和矩阵线性复合变换与矩阵乘法三维空间的线性变换行列式矩阵的秩和逆矩阵维度变换点乘叉乘基变换特征值和特征向量抽象向量空间 序言 欢迎阅读这篇关于线性代数的文章。在这里&#xff0c;我们将从一个全新的角度去探索线…

python算法例16 数字判断

1. 问题描述 给定一个字符串&#xff0c;验证其是否为数字。 2. 问题示例 &#xff02;0&#xff02;判断为True&#xff0c;&#xff02;0.1&#xff02;判断为True&#xff0c;&#xff02;abc&#xff02;判断为False&#xff0c;&#xff02;1 a&#xff02;判断为False…