Java 将字符串除以2的长度

Java 将字符串除以2的长度,java,string,substring,Java,String,Substring,我是java新手,希望您能帮助我: 我有一个字符串,我想把它分成两个元素。我正在尝试使用子字符串,但到目前为止它不起作用。以下是我尝试过的: public class StreamCipher { String first = "315c4eeaa8b5f8aaf9174145bf43e1784b8fa00dc71d885a804e5ee9fa40b16349c146fb778cdf2d3aff021dfff5b403b510d0d0455468aeb98622b137dae8575

我是java新手,希望您能帮助我:

我有一个字符串,我想把它分成两个元素。我正在尝试使用子字符串,但到目前为止它不起作用。以下是我尝试过的:

public class StreamCipher {

     String first = "315c4eeaa8b5f8aaf9174145bf43e1784b8fa00dc71d885a804e5ee9fa40b16349c146fb778cdf2d3aff021dfff5b403b510d0d0455468aeb98622b137dae857553ccd8883a7bc37520e06e515d22c954eba5025b8cc";

     public void stringToList() {
          List<String> xorList = new ArrayList<String>();
          for (int i = 0; i <= first.length(); i+=2) {
                   String subXOR = first.substring(i, i+2);
                   xorList.add(subXOR);
              }
           }
           System.out.println(xorList);
     }
在这一行:

String subXOR = first.substring(i, i+2);
有什么问题吗?

尝试替换此选项:

 for (int i = 0; i <= first.length(); i+=2) {

for(int i=0;i我所看到的问题是,语句
first.substring(i,i+2);
即使在i等于字符串长度时也会执行

所以你应该做的是

public void stringToList() {
          List<String> xorList = new ArrayList<String>();
          for (int i = 0; i <= first.length(); i+=2) {
                   if((i+2)<first.length()){
                   String subXOR = first.substring(i, i+2);
                   xorList.add(subXOR);
                 }
              }
           }
           System.out.println(xorList);
     }
public void stringToList(){
List xorList=new ArrayList();

对于(int i=0;我更改
我感谢!我知道这很简单。我只是没看到。请尝试将second:first.lenght()改为first.length()
 for (int i = 0; i < first.length(); i+=2) {
public void stringToList() {
          List<String> xorList = new ArrayList<String>();
          for (int i = 0; i <= first.length(); i+=2) {
                   if((i+2)<first.length()){
                   String subXOR = first.substring(i, i+2);
                   xorList.add(subXOR);
                 }
              }
           }
           System.out.println(xorList);
     }