0
프로그램을 실행할 때 NullPointerException 오류가 발생합니다. 그 이유를 알 수 없습니다. 정확한 오류는 어떤 도움이 감사Java 프로그램을 실행할 때 NullPointerException 오류가 발생했습니다.
import java.util.ArrayList;
public class EditDistance
{
public static void main(String[] args)
{
ArrayList<Character> a = new ArrayList<Character>();
char[] xArray = null;
char[]yArray = null;
char[] finalY = null;
String x = "AACAGTTACC";
String y = "TAAGGTCA--";
xArray = x.toCharArray();
yArray = y.toCharArray();
a = toArrayList(a , yArray);
System.out.println(editDistance(a, xArray, finalY, y));
}
public static int editDistance(ArrayList<Character> a, char[] xArray, char[] finalY, String y)
{
int temp;
for(int i = 0; i<xArray.length; i++)
{
temp = y.indexOf(xArray[i]);
if(temp != -1)
{
finalY[i] = a.get(temp);
a.remove(temp);
y = (y.substring(0, temp) + y.substring(temp));
}
else if(y.indexOf(xArray[i])==-1)
{
xArray[i]='z';
}
}
for(int j =0; j<xArray.length; j++)
{
if(xArray[j]=='z')
{
finalY[j]=a.get(j);
}
}
int result = calcScore(finalY, xArray);
return result;
}
public static ArrayList<Character> toArrayList(ArrayList<Character> a, char[] yArray)
{
for(int i=0; i<yArray.length;i++)
{
a.add(yArray[i]);
}
return a;
}
public static int calcScore(char[] finalY, char[] xArray)
{
int number = 0;
for(int i=0; i <xArray.length; i++)
{
if(finalY[i]==(xArray[i]))
{
}
else if(finalY[i] == '-')
{
number++;
number++;
}
else if (finalY[i] != xArray[i])
{
number++;
}
}
return number;
}
}
EditDistance.main (EditDistance.java:19)에서 EditDistance.editDistance (EditDistance.java:32)에서 "주"스레드의 예외 java.lang.NullPointerException이 입니다
어떤 줄이 32 줄입니까? –
쉽게 찾을 수 있도록 줄을 오류로 표시해야합니다. – Lycha
연산적으로 알고리즘은 상당히 나쁘다.보다 성능이 뛰어난 데이터 구조를 사용하여 알고리즘을 작성해야한다. 아마 arraylist보다 해시 맵이 필요할까요? –