我想計算一個程序內的代碼行數,並且我已經編寫了代碼來計算;
的數量。它工作正常,但在某些情況下不存在;
(如if
和while
語句)。在這種情況下,我將一些關鍵字存儲在一個字符串數組中,我想使用readLine()
來搜索該關鍵字。如果它工作正常,那麼我會增加1,但它不起作用。我嘗試了很多,但它根本不工作,它顯示了異常。由於Demo.java
您可以使用自己的代碼。如何計算程序中的代碼行數?
Classdetect1.java
import java.io.*;
public class Classdetect1
{
public static void main(String[] args) throws IOException
{
int i=0,j=0,k=0,p;
String str1[]={"if","else","else if","while","for","goto","do"};
// Open the file
FileInputStream fstream = new FileInputStream("Demo.java");
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String strLine;
if (in == null){
System.out.println("File is blank");
System.exit(0);
}
while (i != -1)
{
i = in.read();
if(i==';' || i=='{')
{
j=j+1;
}
if(i=='\'')
{
while(in.read()!='\'')
continue;
}
if(i=='\"')
{
while(in.read()!='\"')
continue;
}
if(i=='(')
{
while(in.read()!=')')
continue;
}
while ((strLine = br.readLine()) != null)
{
for(p=0;p<7;p++)
{
if(str[p].equals(strLine))
{
k=k+1;
}
}
}
System.out.println("Line of =" + k);
}
System.out.println("Total Line of code=" + j);
}
}
什麼是_The EXCEPTION_,以及在哪裏呢_it_發生的呢? – Virtlink 2013-04-21 12:17:58
考慮寫一個解析器,讀一下Antlr – 2013-04-21 12:21:01
'str [p] .equals(strLine)',你在哪裏定義了名爲'str'的數組? – NINCOMPOOP 2013-04-21 12:22:41