2014-02-07 2 views
0

У меня была проблема с моей программой, это процесс завершен, но он имеет исключение времени выполнения java.lang.NullPointerException. Кто-нибудь может мне помочь? это мой код до сих пор.получил ошибку в java.lang.NullPointerExceptions

import javax.swing.*; 
import java.lang.Character; 
import java.io.*; 
public class CoproHW 
{ 
    public static String c; 
    public static int NOc; 
    public static String vince; 
    public static void main(String args [])throws IOException 
    { 

     String vince = JOptionPane.showInputDialog("Enter Your File path :"); 
     c = JOptionPane.showInputDialog("Enter a character"); 

     briefer(); 
    } 
    public static void briefer() 
    { 

     for(int v = 1; v<c.length(); v++) 
     { 
      char x = c.charAt(v); 
      if(Character.isSpaceChar(x)) 
      { 
       NOc++; 
      } 


      char z = c.charAt(v); 
      if(Character.isLetter(z)) 
      { 
       NOc++; 
      } 
     } 

     panty(); 
    } 
    public static void panty() 
    { 
     File file = new File(vince); 

     if(!file.exists()) 
     { 
      JOptionPane.showMessageDialog(null,"Wrong file path !"); 
     } 
     else 
     { 
      JOptionPane.showMessageDialog(null, "The Number of Characters in "+ c +" is "+ NOc); 

      try 
      { 
       RandomAccessFile gui = new RandomAccessFile(file," "); 

       gui.writeBytes("The number of Characters in "+ c + " is " +NOc); 
       gui.close(); 
      } 

      catch(IOException m) 
      { 
       System.out.print(m.getMessage()); 
       System.exit(0); 
      } 
     } 
    } 
} 
+0

NOc в int здесь, так что не может быть источником исключения. Пожалуйста, разместите stacktrace. Я думаю, что вы намерены сделать File file = new File (c); , а не Файл файла = новый Файл (vince); – Kishore

ответ

2

Поскольку вы не присвоили значение своей глобальной переменной vince. Вместо этого, вы назначили ожидаемое значение локальной переменной:

String vince = JOptionPane.showInputDialog("Enter Your File path :"); 

Изменить код:

vince = JOptionPane.showInputDialog("Enter Your File path :"); 

И тогда он будет работать.

0

Извлеките String по основному методу.

vince = JOptionPane.showInputDialog("Enter Your File path :");

Это глобальная переменная вы были объявлены.

+0

Мне просто интересно, это добавило что-то, что еще не было в ответе, который был предоставлен, и имеет upvotes? – csmckelvey

+0

Ya, я понимаю эту вещь после того, как я напишу свой ответ. Не знаю, есть еще один ответ, потому что, когда я читаю этот пост, ответа нет. – irvana

Смежные вопросы