2015-03-04 2 views
1

Хорошо, у меня есть метод в моем основном классе, который получает случайные слова из файла. У меня есть форма, которую я хочу, чтобы получить это случайное Слово из другого класса. Я не слишком разбираюсь в публичных переменных и не понимаю их. Любые предложения приветствуются. Спасибо!Получить объявленную переменную из разных классов

public class Project { 

/** 
* @param args the command line arguments 
*/ 
public static void main(String[] args) 
     throws IOException 
{ 
    pickWord(); 
    frmPlaying.main(args); 
    //To be honest I only know this shows the form and don't know why 
} 

public static void pickWord() 
     throws IOException 
{ 
    File words = new File("wordList.txt"); 
    String wordToArray = new String(); 
    String[] arrWord = new String[3863]; 
    Scanner sc = new Scanner(words); 
    Random rWord = new Random(); 
    int i = 0; 


    do 
    { 
     sc.nextLine(); 
     wordToArray = sc.next(); 
     arrWord[i] = wordToArray; 
     i++;  
    }while(sc.hasNext()); 

    Arrays.toString(arrWord); 
    int idx = rWord.nextInt(arrWord.length); 
    String randomWord = (arrWord[idx]); 
    return randomWord; 

} 

}

^^^^ Возвращает случайное слово

/* try 
    { 
     Project.pickWord(); 
    } 
    catch(IOException ioe) 
    { 
     ioe.printStackTrace(); 
    } 
    */ 

подозреваемого код для получения случайного слова

+0

вместо того, чтобы бросать тип IOException 'вернуться randomWord', изменить тип возвращаемого значения String, и доступ к нему с' Струнный слово = Project.pickWord() '. – CoronA

+0

Вопрос: Почему ваш метод статичен? можете ли вы поделиться остальной частью класса? – StackFlowed

+0

Это статично, потому что я сначала подумал, что именно так вы сделали его общедоступным и не изменили его с тех пор. – NoviceCoder

ответ

0

Дайте ваш методу типа возвращаемого значения. Узнавайте что-то о нем: http://docs.oracle.com/javase/tutorial/java/javaOO/methods.html

http://docs.oracle.com/javase/tutorial/java/javaOO/classvars.html

public static String pickWord() 
    throws IOException{ 
.... 
String randomWord = (arrWord[idx]); /* Random Word I want this to be */ 
return randomWord; 
} 
+0

Хорошо, сделав это 'static', сделает его доступным в других классах. Но вы не объясните это вообще, так что это не очень помогает в вопросе ОП. – WonderWorld

+0

это было статично, я не меняю его. – pL4Gu33

+0

Вам не нужно было бы ставить «String randomWord»? – WonderWorld

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