2017-09-20 10 views
0

私はこのトピックについて徹底的な研究を行ってきましたが、正確に何かを見つけることはできませんでした。 私は、ユーザーがスキャナを介してデータを入力して、関連する文字列と、後で呼び出すint変数の下に保存することを要求する料金請求書(学校の割り当て用)を作成しています。私が直面している問題はif文を作成している間です。私は、重い乗り物(HCV)の場合、ユーザーに関連する旅行時間を入力するよう促され、その後、文字列 "uTripTime"に保存される、システムに入力される車両タイプのifステートメントがあります。Java If文がコード全体で使用されるユーザ入力を受け取る

ここから、文字列 "uTripTime"は後で自分のコードで呼び出すことはできません。

if文が別のコードブロックであるため、文字列 'uTripTime'に格納されているユーザ入力はそのコードブロック内にのみ格納されるため、唯一の仮定があります。後でこの変数をコード内で使用する方法はありますか?

申し訳ありませんが、私の質問のフォーマットが正しくない場合は、ここで初めて質問します。

+0

あなたの問題を理解すれば、uTripTime変数をさらに正しく使用することはできませんか?なぜあなたはuTripTimeをグローバル変数にしませんか? – Lokesh

答えて

2

外部ブロックで変数uTripTimeグローバルにアクセスすると、現在の有効範囲はifブロックのローカルになります。

String uTripTime = ""; // initializing empty 
if (uVehicleType.equals("HCV")) { 
    System.out.print("Enter Trip Time (Peak, Off-Peak or Night): "); 
    uTripTime = uInput.nextLine(); 
} 
0

あなたはifブロックの外側でuTripTimeを宣言する必要があります:

String uTripTime = ""; 
if (uVehicleType.equals("HCV")) { 
    System.out.print("Enter Trip Time (Peak, Off-Peak or Night): "); 
    uTripTime = uInput.nextLine(); 
} 
// now you can access uTripTime here 

注意(uTripTimeで "U" のような)プレフィックスは、Javaのコーディングスタイルではないこと。

+1

ここに小さなエラーがあります。他の(以前の)答えを見てください。 – smarx

関連する問題