2017-11-30 10 views
-1

私は2つの.javaファイルを作成しました.1つはQues.java、もう1つはTBRPGgame.javaという名前です。ここでQues.javaTBRPGgame.javaの含有量は、それぞれ、次のとおりカスタムクラスのメソッドで印刷されないSystem.out.println

import java.util.Scanner; 

class Ques 
{ 
    Scanner numin = new Scanner(System.in); 

    String quesText = ""; 
    String quesAtr1 = ""; 
    String quesAtr2 = ""; 
    String quesAtr3 = ""; 
    String quesAtr4 = ""; 
    boolean done = false; 

    Ques(String qText, String qAtr1, String qAtr2, String qAtr3, String qAtr4) 
    { 
    quesText = qText; 
    quesAtr1 = qAtr1; 
    quesAtr2 = qAtr2; 
    quesAtr3 = qAtr3; 
    quesAtr4 = qAtr4; 
    } 

    String ask() 
    { 
    System.out.println(quesText); 

    if (numin.nextInt() == 1) 
    { 
     System.out.println(quesAtr1); return quesAtr1; 
    } else if (numin.nextInt() == 2) 
    { 
     System.out.println(quesAtr2); return quesAtr2; 
    } else if (numin.nextInt() == 3) 
    { 
     System.out.println(quesAtr3); return quesAtr3; 
    } else if (numin.nextInt() == 4) 
    { 
     System.out.println(quesAtr4); return quesAtr4; 
    } else 
    { 
     System.out.println("That is not a valid input. Possible inputs are: 1, 2, 3, 4."); System.out.println(""); return ""; 
    } 
    } 
} 

import java.util.Scanner; 

class TBRPGgame 
{ 
    public static void main(String[] args) 
    { 
    Ques question1 = new Ques("\n\nOne day, while you were travelling, you visited a city. However, you had only enough time to visit one building before you had to leave the city.\n\nWhich building did you visit?\n1.) I visited the library.\n2.) I visited the tavern.\n3.) I visited the blacksmith.\n4.) I visited the temple.", "kno", "rhe", "str", "fai"); 
    question1.ask(); 
    } 
} 

しかし、Quesオブジェクトのaskメソッドが実行された場合、5つの可能な結果に含まSystem.out.printlnコードが(入力され1,2,3,4など)は印刷されていないようです。

+0

あなたは 'nextInt()'と呼ばれるたびに新しい値を入力する必要があることを知っていますか? – Andreas

+0

Questextを適切に宣言するには、public staticとして宣言する必要があります。 –

+0

@アンドレアスああ..私は知らなかった。ありがとうございました。 – Ben

答えて

0

問題はask()メソッドにあります。

String ask() 
{ 
    System.out.println(quesText); 

    int input = numin.nextInt(); 

    if (input == 1) 
    { 
     System.out.println(quesAtr1); return quesAtr1; 
    } else if (input == 2) 
    { 
     System.out.println(quesAtr2); return quesAtr2; 
    } else if (input == 3) 
    { 
     System.out.println(quesAtr3); return quesAtr3; 
    } else if (input == 4) 
    { 
     System.out.println(quesAtr4); return quesAtr4; 
    } else 
    { 
     System.out.println("That is not a valid input. Possible inputs are: 1, 2, 3, 4."); System.out.println(""); return ""; 
    } 
} 

あなたのコードの問題は、すべての条件チェックでnumin.nextInt()を使用したことでした。上記のコードはあなたの問題を解決します。

関連する問題