精华内容
下载资源
问答
  • package org.web.server; import java.io..../** * 怎么计算中英文字符串的长度 * @author lKF19306 * */public class StringTest {  /** * @param args */ public static void main(String[] args...

    package org.web.server;

    import java.io.UnsupportedEncodingException;
    /**
     * 怎么计算中英文字符串的长度
     * @author lKF19306
     *
     */
    public class StringTest {

     /**
      * @param args
      */
     public static void main(String[] args) {
      // TODO Auto-generated method stub
      String aString = "这是一个测试串,This is a test string";
      
      String anotherString = null;
      
      try {
       anotherString = new String(aString.getBytes("GBK"),"ISO8859_1");
      } catch (UnsupportedEncodingException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }
      System.out.println(aString.length()+","+anotherString.length());
     }

    }

    展开全文
  • 在C语言中,或者说在我们平时使用的基本类型中,数组的长度都可以用 sizeof(arr)/sizeof(arr[0]) 来求得。因为sizeof运算符可以求出每个对象所占内存的字节数,并且在这些基本类型组成的数组中,每个元素所占内存...

    在C语言中,或者说在我们平时使用的基本类型中,数组的长度都可以用 sizeof(arr)/sizeof(arr[0]) 来求得。因为sizeof运算符可以求出每个对象所占内存的字节数,并且在这些基本类型组成的数组中,每个元素所占内存空间都是相同的,因此我们可以使用 “数量 = 总价 / 单价” 这种方式来计算。

    而我们的string字符串数组是可变长度的,按理说使用 string 创建的数组每个元素所占空间都是不同的,那string类型的数组该如何来获取其长度呢。

    vector<> 数组类型

    首先我们要知道的vector类型,这是一种数组类型,它提供了 v.size() 方法可以获取数组长度。

    vector<vector<int>> v{ {1,2,3},{4,5,6,7,8},{9,10} };
    cout << v.size() << endl;		// 3 
    cout << v[1].size() << endl;	// 5
    

    string对象自身也提供了一种 s.size() 的方法,用于获取字符串的长度。而string型的数组是没有办法直接获取其长度的。如下示例中,s只能通过s[0].size()的方式获得其数组中s[0]字符串的长度。并不能直接获得数组有几个成员。

    string s[] = { "hello","world!" };
    cout << s->size() << endl;		// 等价于s[0].size()
    cout << s[0].size() << endl;	// 5
    cout << s[1].size() << endl;	// 6
    

    注意:以上的vector类型是一种容器适配器,其本身就是数组类型,因此类中提供了获取元素个数的方法。而string类型同int类型,double类型一样是一种基本的类型,因此我们无法直接依赖类本身提供的方法操作数组。

    因此在我们使用string数组时,我们可以使用 vector< string> 利用vector容器保存string对象来操作,或者也可以使用我们原本的数组定义方式 string s[] 。

    使用sizeof运算符求数组长度

    通过上面的示例我们知道,string数组对象无法直接通过类中的方法获得其数组的元素个数,而我们又想到了 “数量 = 总价 / 单价” 这种计算方法。

    参考 C++中的string 类型占几个字节 这篇博客我们可知,string对象存储的内容大小与其所占的空间(栈空间)是没有关系的,换句话说在一个string的数组中每个string字符串所占的空间相同,即单价唯一。如下列示例所示:

    string s1[] = { "1" };
    string s2[] = { "1","aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" };
    string s3[] = { "1","2","3" };
    cout << sizeof(s1) << " " << sizeof(s1[0]) << endl;
    cout << sizeof(s2) << " " << sizeof(s2[0]) << " " << sizeof(s2[1]) << endl;
    cout << sizeof(s3) << " " << sizeof(s3[0]) << " " << sizeof(s3[1]) << " " << sizeof(s3[2]) << endl;
    // 输出
    // 28 28
    // 56 28 28
    // 84 28 28 28
    

    我们可以看到,s1所占总空间为 28 字节,而它只有一个成员 “1”,所占空间即为整个数组的空间。
    s2所占空间为 56 字节,而它有两个元素,每个元素都占 28 字节,整个数组所占空间为 28 * 2 。
    s3所占空间为 84 字节,而它有三个元素,每个元素都占 28 字节,整个数组所占空间为 28 * 3 。

    如此以来,我们便可以使用 sizeof(s) / sizeof(s[0]) 来计算string数组的长度了。

    string s1[] = { "1" };
    string s2[] = { "1","aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" };
    string s3[] = { "1","2","3" };
    
    cout << "s1 size = " << sizeof(s1) / sizeof(s1[0]) << endl;
    cout << "s2 size = " << sizeof(s2) / sizeof(s2[0]) << endl;
    cout << "s3 size = " << sizeof(s3) / sizeof(s3[0]) << endl;
    
    展开全文
  • public class StringTest { public static void main(String[] ...String aString = "这是一个测试串,This is a test string."; String anotherString = null; try { anotherString = new String(aString.getBytes(
    public class StringTest 
    {
    public static void main(String[] args) 
    {
    String aString = "这是一个测试串,This is a test string.";
    String anotherString = null;
    try {
    anotherString = new String(aString.getBytes("GBK"), "ISO8859_1");
    }
    catch (UnsupportedEncodingException ex) {
    }
    System.out.println(aString.length() + "," + anotherString.length());
    }
    } 
    

    展开全文
  • import java.io.*; public class StringTest { public static void main...String aString = "这是一个测试串,This is a test string."; String anotherString = null; try { anotherString = new...
    import java.io.*;
    public class StringTest
    {
    public static void main(String[] args)
    {
    String aString = "这是一个测试串,This is a test string.";
    String anotherString = null;
    try {
    anotherString = new String(aString.getBytes("GBK"), "ISO8859_1");
    }
    catch (UnsupportedEncodingException ex) {
    }
    System.out.println(aString.length() + "," + anotherString.length());
    }
    }
    展开全文
  • And a Microgene is in the DNA if the Microgene string is the substring of the DNA string. All Microgenes given are different and with the same hereditary effect. Input There are several test ...
  • String name;//占4个字节 markword占8个字节; classPointer指针占4个字节; 如果一个对象包含上述属性,则其大小为: 4+1+1+4+8+4=22个字节 对齐:由于要保证是8倍数,,所以对齐需要2个字节。 因此一共是...
  • strlen()函数和mb_strlen()函数在PHP中,函数strlen()返回字符串的长度。函数原型如下:int strlen(string string_input);参数string_input为要处理的字符串。strlen()函数返回字符串所占的字节长度,一个英文字母、...
  • public class Test {public static void main(String[] args) throws Exception{Scanner in = new Scanner(System.in);System.out.println("print any word!");String line = in.nextLine();System.out.println("pri...
  • /** * 怎么计算中英文字符串的长度 */public class StringTest { public static void main(String[] args) throws Exception { String aString = "这A"; String anotherString = null; anotherString = new Str
  • C语言计算字符串长度,可以手动计算也可以使用库函数或者sizeof()操作符。方法:自定义函数求长度使用strlen()函数使用sizeof()操作符自定义函数:int cont_str(char *s){int i = 0;while ( str[i++] != '\0') ;...
  • 主要介绍JS判断字符串长度的5个方法,并且区分中文和英文,需要朋友可以参考下目的:计算字符串长度(英文占1个字符,中文汉字占2个字符)方法一:代码如下:String.prototype.gblen = function() {var len = 0;...
  • public class Test {public static void main(String[] args) throws Exception{Scanner in = new Scanner(System.in);System.out.println("print any word!");String line = in.nextLine();System.out.println("pri...
  • 以下这个程序应该可以说明一切:import java.io.BufferedReader;import java.io.IOException;...public class Main {public static void main(String[] args) throws IOException {BufferedReader bu...
  • 使用PowerShell可以很方便的计算字符串的长度。PowerShell是继承于Microsoft .NET Framework的,所以在.NET里面怎么获取到字符串的长度,在PowerShell中可以使用相同的方法。 我们知道在.NET中,可以使用String....
  • string计算公式提取出来,很明显它的长度应该是3,但是我实际测量出来是 ``` 734 ``` 当我是用Arrays.tostring()还原 “1+1”的时候,显示如下 ``` [49, 43, 49, 0, 0, 0, 0, 0, ......., 0] ``` ...
  • AA 00 数据包内容长度,170 字节 01 数据包类型,实时交通数据包 30 30 31 31 31 31 30 32 30 36 30 39 30 30 30 31 设备身份识别码 47 31 30 32 4C 32 30 36 31 32 30 32 32 35 00 站点编号 00 设备硬件错误码,...
  • 沃芬血凝仪串口通讯所用ASTM协议数据应该怎么计算校验和。 public List GetRetMsg(string data) { // 空字符串返回空 if (string.IsNullOrEmpty(data)) { return null;
  • 无论你怎么转换,怎么变化,用内存方法来计算字符串,肯定是对,而且可验证。当你拿到内存指针那一刻,你就成功了。 int getStringLength(NSString* strtemp) { int strlength = 0; const char * pStr =...
  • 给出一段文字既有中文又有英文,那么怎么根据中英文的不同去计算字符串的长度呢?其中中文字符算两个长度,英文字符一个长度,可以参考下面的代码: package com.demo; /** * @author 小书包 * @date 2018/11/...
  • 本文合肥PHP培训介绍的内容是关于PHP中strlen()...strlen()-用来获取字符串长度int strlen ( string $string )返回给定的字符串string的长度。mb_strlen —获取字符串的长度mixed mb_strlen ( string $str[, string...
  • /// <param name= "height "> 要显示的长度 public VideoWork(IntPtr handle, int left, int top, int width, int height) { mControlPtr = handle; mWidth = width; mHeight = height; mLeft = left; ...
  • //将输入数据分项处理分成20块长度为20项 site=int(iname-'A'); cout请连续输入多项式不要有空格:"(x)="; cin>>idata; //首先将第一项分开来处理 data[k][i]=idata[i]; while(idata[++i]!='+...
  • JAVA算汉字真实长度

    千次阅读 2015-02-27 10:53:43
    通常判断字符串长度都是调用String类的length()方法,但是一个中文汉字的长度在计算机看来是2,如果直接调用length()的话,显示长度为1,。这个问题怎么解决呢? 其实很简单,在创建字符串的时候重新设置以下编码...
  • 设计 Student 类并实现用于管理学生信息表(学生表的长度不超过55)的33个函数,成员变量和函数的访问性都为公有的,具体类结构和函数要求如下: 学号,int类型 姓名,string类型 分数,float类型 带参...
  • 我想我已经接近了,但是由于两个字符串的长度不相等,我得到了一个索引超出范围的错误,我无法计算。。。在你会怎么解决这个问题?如何解决索引器?在提前谢谢:Ddef print_first_difference(string1, string2):""" ...
  • strlen函数是PHP中的一个内置函数,它可以计算字符串的长度,包括所有空格和特殊字符;它会将给定字符串作为参数并返回其长度。【视频教程推荐:PHP教程】基本语法strlen($string)参数: strlen()函数只接受一个参数...
  • /*计算输入的st1数组的长度*/ for (n = 0; i == 0; n++) /*整个for语句是为了表达字符一一对应的反转*/ { st2[n] = st1[i]; i--; } puts(st2); return 0; } ``` 本人是初学者,只是不太明白为...

空空如也

空空如也

1 2 3 4 5 6
收藏数 112
精华内容 44
关键字:

怎么计算string的长度