public class leftrec {
static int isleft(String[] left,String[] right)
{
int f=0;
for(int i=0;i<left.length;i++)
{
for(int j=0;j<right.length;j++)
{
if(left[i].charAt(0)==right[j].charAt(0))
{
System.out.println("Grammar is left recursive");
f=1;
}
}
}
return f;
}
public static void main(String[] args) {
// TODO code application logic here
String[] left=new String[10];
String[] right=new String[10];
Scanner sc=new Scanner(System.in);
System.out.println("enter no of prod");
int n=sc.nextInt();
for(int i=0;i<n;i++)
{
System.out.println("enter left prod");
left[i]=sc.next();
System.out.println("enter right prod");
right[i]=sc.next();
}
System.out.println("the productions are");
for(int i=0;i<n;i++)
{
System.out.println(left[i]+"->"+right[i]);
}
int flag=0;
flag=isleft(left,right);
if(flag==1)
{
System.out.println("Removing left recursion");
}
else
{
System.out.println("No left recursion");
}
}
}
주어진 문법이 재귀 적으로 남아 있는지 확인하기 위해이 코드를 작성했습니다. 내가 프로그램을 컴파일 할 때 나에게 줄Java에서 NullPointerException 제거
if(left[i].charAt(0)==right[j].charAt(0))
및
isleft(left,right);
어떻게 내가 예외를 제거하는 방법은 무엇에 NullPointerException
을 준다?
클래스 이름은 대문자로 클래스를 정의하는 – lakshman
를 사용하여 자바 코딩 규칙을 시작합니다 (ArrayList를 오른쪽 ArrayList를 왼쪽)
배열 목록
입니다. 클래스 이름은 Camel Case 여야합니다. –코드를 컴파일 할 때? 아니면 코드를 실행합니까? –