&引用;java.lang.NullPointerException“;拆分字符串时

&引用;java.lang.NullPointerException“;拆分字符串时,java,nullpointerexception,Java,Nullpointerexception,我在java方面并不像我所学的那样精通,我在以下位置面临着这个错误:chararray=s.toCharArray(); 我不知道原因。虽然我已经使数组大小过大,但仍然不清楚 我添加了另一个函数,它将发送到crossover ..... public void chr_intval(){ int[] array = new int[100] ; float[]af = new float[6];

我在java方面并不像我所学的那样精通,我在以下位置面临着这个错误:chararray=s.toCharArray(); 我不知道原因。虽然我已经使数组大小过大,但仍然不清楚

我添加了另一个函数,它将发送到crossover

 .....
            public void chr_intval(){
            int[] array = new int[100] ;
            float[]af = new float[6]; 
            String [] gf =new String[7]; // for generating generation therefore copying 
            Random randomGenerator = new Random();
            System.out.println("Chromosome     Genes    Integer value       f(x)               f'(x)    Fitness ratio");

            for(int i=1,j=1 ; i<=6; i++,j++){
                array[i] = randomGenerator.nextInt(100); // generate random 6 integers from 1<x<100
                float[] ar2 = new float[array.length];
                ar2[i]= (float)array[i];
                System.out.println("C"+j+   "            "+Genes(array[i])+"   "+array[i]+"              "+f_x(ar2[i])+"            "+fitness_function(f_x(array[i]))+"    ");//+fit_ratio(fitness_function(f_x(array[i])))); // print c1, c2,....

                af = new float[array.length];
            //  gf= new String[array.length];
                af[i]= fitness_function(f_x(array[i]));
                gf[i]= Genes(array[i]);      // send to cross_over


    //          System.out.println(fit_ratio(af));

            }
    //      System.out.print("gf"+gf[2]);
            Cross_over(gf,af);
        }


     public void Cross_over(String[] gf, float[] af) {
    // System.out.print("gf"+gf[3]); all values are coming successfully

    char[] charArrays = new char[1000];

    Character[] characterArray = new Character[charArrays.length];

    int i = 0;

    for(int j = 0; j < af.length; j++) { // comparing fit-funct
        if(af[j] > af[0]){
            af[0]= af[j];
        }
    }
    if(af[0] >= 95) {
        System.out.println("candidate's fitness "+af[0]);
    }
    else{  // start cross-over by tokenizing  the array
        // charArrays[] = gf.toCharArray();

        for (String s : gf) {
            charArrays = s.toCharArray(); // <--- Error here
        }
    }
    for(int y = 0; y < 8; y++) {
        System.out.print( characterArray[y] );
    }
}
。。。。。
公共无效chr_intval(){
int[]数组=新的int[100];
浮动[]af=新浮动[6];
String[]gf=新字符串[7];//用于生成复制
Random randomGenerator=新的Random();
系统输出println(“染色体基因整数值f(x)f’(x)适合度比”);
对于(inti=1,j=1;iNPE,此处:

charArrays = s.toCharArray();
表示
s
null
,因此
gf
中至少有一个元素为null

您应该在此行之前选中
s!=null
,或者确保从不将
null
元素添加到
gf

NPE此处:

charArrays = s.toCharArray();
表示
s
null
,因此
gf
中至少有一个元素为null

您应该在此行之前选中
s!=null
,或者确保从不将
null
元素添加到
gf

NPE此处:

charArrays = s.toCharArray();
表示
s
null
,因此
gf
中至少有一个元素为null

您应该在此行之前选中
s!=null
,或者确保从不将
null
元素添加到
gf

NPE此处:

charArrays = s.toCharArray();
表示
s
null
,因此
gf
中至少有一个元素为null

您应该在此行之前选中
s!=null
,或者确保从不将
null
元素添加到
gf

,尝试以下操作:

for (String s : gf) 
{
    if(s!=null)
    {
        charArrays = s.toCharArray();  
    }
}
试试这个:

for (String s : gf) 
{
    if(s!=null)
    {
        charArrays = s.toCharArray();  
    }
}
试试这个:

for (String s : gf) 
{
    if(s!=null)
    {
        charArrays = s.toCharArray();  
    }
}
试试这个:

for (String s : gf) 
{
    if(s!=null)
    {
        charArrays = s.toCharArray();  
    }
}

确保
gf
中的所有
String
都不是
null
。测试使
chararray
等于
gf
中的每个字符串有什么意义?确保
gf
中的所有
String
都不是
null
。测试使
chararray
等于每个strin有什么意义g在
gf
中?确保
gf
中的所有
字符串都不是
null
。测试使
chararray
等于
gf
中的每个字符串有什么意义?确保
gf
中的所有
字符串都不是
null
。测试使
chararray
等于
gf
中的每个字符串?它现在给我空我编辑了代码它现在给我空我编辑了代码它现在给我空我编辑了代码它现在给我空我编辑了代码