精华内容
下载资源
问答
  • } 现在我不知道的是while里要怎么写?按照上面写的话,测试结果有java.lang.NullPointerException | String[] jspdata = new String[0];这么的话,jspdata的长度是0,所以不对。 如果不知道返回的记录的数目,...

    java.sql.Connection sqlCon; //数据库连接对象

    java.sql.Statement sqlStmt = null; //SQL语句对象

    java.sql.ResultSet sqlRst; //结果集对象

    java.lang.String strCon; //数据库连接字符串

    java.lang.String strSQL; //SQL语句

    java.sql.DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());

    strCon = "jdbc:oracle:thin:@192.10.10.1:1521:unioa";

    sqlCon = java.sql.DriverManager.getConnection(strCon,"wang","wang");

    strSQL = "select RS_Code from RuinSpot";

    int j = 0;

    String[] jspdata = new String[0];

    String sumid;

    sqlRst = sqlStmt.executeQuery(strSQL);

    while (sqlRst.next()){

    sumid = sqlRst.getString("RS_Code");

    if(sumid!=null){

    jspdata[j] = sumid;

    }

    j++;

    }

    现在我不知道的是while里要怎么写?按照上面写的话,测试结果有java.lang.NullPointerException

    |

    String[] jspdata = new String[0];这么的话,jspdata的长度是0,所以不对。

    如果不知道返回的记录的数目,可以定义一个Vector来存数据。

    |

    干嘛用数组存放?结果集里面的数据可能有很多类型,显然最好是用Vector向量来存放数据

    相关如下:

    Vector vect = new Vector();//初始化向量对象

    while(rs.next()) {

    Vector rec_vector=new Vector();//从结果集中取数据放入向量rec_vector中

    rec_vector.addElement(rs.getString(1));

    rec_vector.addElement(rs.getTimestamp(2));

    rec_vector.addElement(rs.getString(3));

    //…………

    vect.addElement(rec_vector);//向量rec_vector加入向量vect中

    }

    展开全文
  • 就是编写一个循环把vector中的元素一一赋给数组中的对应元素,循环标识的类型是用vectorvector<>::size_type 还是数组的size_t,或者直接int?
  • 比如怎么定义a[m][n],cin>>m;cin>>n;之后再赋值 ,比如怎么定义a[m][n],cin>>m;cin>>n;之后再赋值 ,比如怎么定义a[m][n],cin>>m;cin>>n;之后再赋值
  • 对于二维vector可以使用push_back的方法进行赋值,先push_back出一维数组,再将这个一维数组push_back进二维数组。 直接访问的vector[][]方式可以访问数组,不过不能写入数组。不过为什么我不知道(内存是怎么运行...

    对于二维vector可以使用push_back的方法进行赋值,先push_back出一维数组,再将这个一维数组push_back进二维数组。

    直接访问的vector[][]方式可以访问数组,不过不能写入数组。不过为什么我不知道(内存是怎么运行的不知)。

    不过可以先初始化一个数组(类型都可以),在vector初始化的时候,直接用构造函数将该数组写入vector中,在将一维vector写入二维vector。

    展开全文
  • 类的数组成员变量的初始化

    千次阅读 2010-12-14 19:05:00
    使用STL标准模板库之后,编程时已经很少使用数组和指针,相反,多使用序列容器vector代替之。 但事实并不这么理想,在迫不得已的情况下,我们还是会选择使用数组。 这里介绍一下当数组作为类的成员变量时,应该怎么...

    我的文章所写内容,都是自己实际编程中遇到的,通常是在遇到这个问题时,在网上搜索或者自己找到解决办法。

    有时候,某些问题要花好久才找的到解决方案,因为网上资料较少,也有可能是我搜索能力不强。

    写下这些,一是希望能帮助到遇到同样问题的朋友,二是记下之后,再次遇到这些问题,能记得解决办法。

    由于平时工作都很忙,所以我的文章大多都只简单的写了方法,没讲解得太详细。

    还是希望能够帮助到有需要的朋友们。

     

    我的文章所写内容,都是自己实际编程中遇到的,通常是在遇到这个问题时,在网上搜索或者自己找到解决办法。 有时候,某些问题要花好久才找的到解决方案,因为网上资料较少,也有可能是我搜索能力不强。 写下这些,一是希望能帮助到遇到同样问题的朋友,二是记下之后,再次遇到这些问题,能记得解决办法。 由于平时工作都很忙,所以我的文章大多都只简单的写了方法,没讲解得太详细。 还是希望能够帮助到有需要的朋友们。

    使用STL标准模板库之后,编程时已经很少使用数组和指针,相反,多使用序列容器vector代替之。 但事实并不这么理想,在迫不得已的情况下,我们还是会选择使用数组。 这里介绍一下当数组作为类的成员变量时,应该怎么对它(数组)进行初始化。 在类的构造函数中可以使用成员初始化表初始化各个成员变量,这种方法是很受推荐和赞扬的,因为使用成员初始化表中对成员进行初始化和在构造函数体中对成员赋值是不同的,特别对于成员对象,在效率上是很有差别的(对于这一点不清楚的朋友们,可以查看C++ primer ed3 14.5,这里对此不细讲)。 那么,用惯了成员初始化表的朋友们,因为尝到了其甜头,通常在第一次对待成员数组时,都会选择成员初始化表,而这不但不会给我们带来好处,反而让我们碰了一鼻子灰,并且苦恼。 本文想说的就是:类的成员变量不能使用成员初始化表进行初始化,而只能通过在构造函数体中对数组的各个成员进行赋值。

    class bb

    {

     public:

         bb() : a[0](0) {} //出现c2059错误

         bb(int (&a)[3]) : a[0](a[0]),a[1](a[1]),a[2](a[2]) {} //出现c2059错误

         bb(int (&a)[3]) 

         {

             this->a = {a[0],a[1],a[2]}; //错误,不能使用初始化表

         }

     

        //正确写法:

         bb()

        {

              this->a[0] = 0;

              this->a[1] = 0;

              this->a[2] = 0;

        }

        bb(int (&a)[3])

        {

              this->a[0] = a[0];

              this->a[1] = a[1];

              this->a[2] = a[2];

        }

     

    private:

        int a[3];

    };

    展开全文
  • vector常用方法

    2008-05-13 22:23:00
    可是如果你在前面或者中部安插或元素元素,性能就不怎么样了,因为操作点之后的每一个元素都必须移动另一个位置,而每一次移动都得调用assignment(赋值)操作符。在内存分配方面,可以使用reserve(),保留

    1.Vector的能力

    Vector模塑出一个动态数组。因此,它本身是“将元素置于动态数组中加以管理”的一个抽象概念。

    在末端附加或删除元素时,vector的性能相当好。可是如果你在前面或者中部安插或元素元素,性能就不怎么样了,因为操作点之后的每一个元素都必须移动另一个位置,而每一次移动都得调用assignment(赋值)操作符。

    在内存分配方面,可以使用reserve(),保留适当容量,避免一再重新配置内存。另一种方法是,初始化期间就向构造函数传递附加参数,构造出足够的空间。如果你的参数是个数值,它将成为vector的起始大小:std::vector<T> v(5);,当然,要获得这种能力,此种元素型别必须提供一个default构造函数。请注意,如果型别很复杂,就算提供了default构造函数,初始化操作也很耗时。如果你这么做只不过是为了保留足够的内存,那倒不如用reserve()。

    2.Vector的操作函数

    几个重要的函数:

    c.size():返回当前的元素数量。

    c.empty():判断大小是否为零。等同于size()==0,但可能更快。

    c.max_size():返回可容纳的元素最大数量。

    capacity():返回重新分配空间前所能容纳的元素最大数量。

    另外需要注意的是:

    c1.swap(c2)与swap(c1,c2)虽然都是交换元素,但swap(c1,c2)是一个全局函数。

    用来存取元素的函数:c.at(idx),c.[idx],c.front(),c.back()。这其中,只有c.at()会进行范围检查。

    所以,在调用operator[]时,必须心理有数,确定索引有效;调用front(),或back()时,必须确定容器不空。

    例如:

    Std::vector<Elem>coll;

    If(coll.size()>5)

        Coll[5]=elem;

    If(!coll.empty())

        Cout<<coll.front();

    迭代器相关函数

    Vector提供了一些常规函数来获取迭代器。Begin,end,rbegin,rend这四个函数都是返回迭代器的。

    这些迭代器的确切型别由实作版本决定。对vector来说,通常就是一个指针。一般指针就是随机存取迭代器,而vector内部结构通常也是个数组,所以指针行为可以适用。不过我们不可能仰仗这一点。

    Vector迭代器持续有效,除非发生两种情况:1,使用者在一个较小索引位置上安插或移除元素;2,由于容量变化而引起内存重新分配。

     

    安插和移除元素:

    依照STL的惯例,你必须保证传入的参数合法:

    1,          迭代器必须指向一个合法位置

    2,          区间的起始位置不能在结束位置之后

    3,          决不能从空容器中移除元素

    将vectors当作一般arrays使用:

    简单地说,任何地点只要你需要一个动态数组,你就可以使用vector。(此处应该说明了vector的主要用途)例如,你可以利用vector来存放常规的C字符串(型别为char*或const char*):

    std::vector<char>v;

    v.resize(41);

    strcpy(&v[0], ”hello,world!”);

    printf(“%s/n”,&[0]);

    不过,这么运用vector你可得小心(和使用动态数组一样小心),例如你必须确保上述vector的大小足以容纳所有数据,如果你用的是C-String,记住最后有个’/0’元素。这个例子说明,不管出于什么原因(例如为了和既有C程序库打交道),只要你需要一个元素型别为T的数组,就可以采用vector<T>,然后传递第一元素的地址给它。

    注意,千万不要把迭代器当作第一个元素的地址传递。Vector迭代器是由实作版本定义的,也许并不是个一般指针。

    异常处理:

    Vector只支持最低限度的逻辑错误检查。下标操作符的安全版本at(),是唯一被标准规格书要求可能抛出异常的一个函数。

    最后提一句吧,bool版本的vector是特殊的,根据实作版本不同而有所不同。但确定是使用位操作的。

    展开全文
  • 三数之和解题思路知识点代码实现小结 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?...利用 vector 容器来定义二维数组以及赋值操作等; 代...
  • 我们初始化把最低位赋值为1,然后我们算出数组之和,然后我们遍历数字,对于遍历到的数字num,我们把bits向左平移num位,然后再或上原来的bits,这样所有的可能出现的和位置上都为1。举个例子来说吧,比如对于数组[2...
  • 思路:把文件内容调出来赋值vector 写find_billion类 构造函数要赋三个值 再带入for_each遍历vector 重载operator()每次符合条件的输出 */ struct billion { int no; char name[20]; char ...
  • 首先想到的是,中序遍历,然后把数组的内容再赋值给原来的树。 题目还给了一种问题,如果使用O(1)空间复杂度该怎么做。。。。这个没考虑出来 class Solution { public: int c; void Inorder(TreeNode* root,...
  • 开头是一个悲伤的故事。要求:输入为两行,第一行为一个数字,第二行为用逗号分隔的数组,表示一个树的广度优先遍历。如下所示。101,2,3,4,5然后在上面实现要求,要求先不表。... 答:读入一行数,使用vector,把每
  • 小白求教,想要自定义mesh绘制正十二面体,网上查到了大佬绘制20面体的代码如下,请问正十二面体的三角面是怎么分的?如何设置顶点ID计算法线?麻烦各位解答一下,谢谢! ``` // 根据面的顺序,重新...
  • 题意:给你一个1到n的数组。元素取值是[1, m]。对于1到m的每一个i。你要回答出至少包含[1,i]的所有元素各一次的最小区间长度。 题解:距离出线只差一题。队友在搞G题构造,我在搞这个。最后没出。没办法。一看题解,...
  • 疯狂JAVA讲义

    2014-10-17 13:35:01
    7.4.2 ArrayList和Vector实现类 264 7.4.3 固定长度的List 266 7.5 Queue接口 266 7.5.1 LinkedList实现类 266 7.5.2 PriorityQueue实现类 269 7.6 Map 270 7.6.1 HashMap和Hashtable实现类 271 7.6.2 ...
  • 21天学通Java-由浅入深

    2011-06-06 09:59:14
    58 3.7.2 “”:带符号左移运算符 58 3.7.3 “>>>”:无符号右移运算符 58 3.8 赋值运算符 59 3.8.1 一般赋值运算符 59 3.8.2 运算赋值运算符 59 3.9 运算符之间的优先级 60 3.10 综合练习 61 3.11 小结 62 3.12 ...
  •  9.2 vector容器是数组的最佳替代者  9.2.1 创建并初始化vector对象  9.2.2 vector容器的操作  9.2.3 访问vector容器中的数据  9.3 可以保存键值对的map容器  9.3.1 创建并初始化map容器  9.3.2 将数据保存到...
  • 3.7.1 向量—vector 46 3.7.2 范围检查 47 3.7.3 表—list 48 3.7.4 映射—map 49 3.7.5 标准容器 49 3.8 算法 50 3.8.1 迭代器的使用 51 3.8.2 迭代器类型 52 3.8.3 迭代器和i/o 53 3.8.4 遍历和谓词 54 ...
  • 3.7.1 向量—vector 46 3.7.2 范围检查 47 3.7.3 表—list 48 3.7.4 映射—map 49 3.7.5 标准容器 49 3.8 算法 50 3.8.1 迭代器的使用 51 3.8.2 迭代器类型 52 3.8.3 迭代器和i/o 53 3.8.4 遍历和谓词 54 ...
  • C++程序设计语言(特别版)--源代码

    热门讨论 2012-04-23 07:33:51
    3.7.1 向量—vector 46 3.7.2 范围检查 47 3.7.3 表—list 48 3.7.4 映射—map 49 3.7.5 标准容器 49 3.8 算法 50 3.8.1 迭代器的使用 51 3.8.2 迭代器类型 52 3.8.3 迭代器和i/o 53 3.8.4 遍历和谓词 54 ...
  • C++程序员面试宝典

    热门讨论 2013-04-01 13:36:19
    面试题84 如何初始化指针并对其赋值 89 面试题85 是否可以确定指针指向一个对象 90 面试题86 如何使用指针操作数组 90 面试题87 const对象的指针和const指针的区别 91 面试题88 数组指针与指针数组的区别 92 8.2 ...
  • java面试宝典

    2013-02-28 16:04:01
    233、说出在JSP页面里是怎么分页的? 55 234、存储过程和函数的区别 55 235、事务是什么? 55 236、游标的作用?如何知道游标已经到了最后? 55 237、触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发...
  • 千方百计笔试题大全

    2011-11-30 21:58:33
    233、说出在JSP页面里是怎么分页的? 55 234、存储过程和函数的区别 55 235、事务是什么? 55 236、游标的作用?如何知道游标已经到了最后? 55 237、触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发...
  • 面试题88 数组指针与指针数组的区别 8.2 函数指针 8.2 函数指针 面试题89 什么是函数指针?如何使用函数指针 面试题90 指针函数和函数指针的区别 8.3 this指针 面试题91 什么是this指针 面试题92 何时使用this指针 ...

空空如也

空空如也

1 2
收藏数 24
精华内容 9
关键字:

vector数组怎么赋值