2017-09-26 9 views
-4

私は、ユーザが自分の名前、ミドルネーム、および姓を入力できるようにしようとしていますが、ミドルネームを入力しないでプログラムを実行することができますその場合は姓と名だけを表示するようにしてください。私のコードをJavaで処理する

import java.util.Scanner; 

public class Names { 

     public static void main(String[] args){ 
      System.out.print("Enter your name : "); 
      Scanner first_name = new Scanner(System.in); 
      System.out.print("Enter your middle name : "); 
      Scanner middle_name = new Scanner(System.in); 
      System.out.print("Enter your last name : "); 
      Scanner last_name = new Scanner(System.in); 
      int x = Integer.parseInt(middle_name); 
      if(x == 0) { 
       System.out.println("First name : " + first_name); 
       System.out.println("Last name : " + last_name); 
      } 
      if(x > 0) { 
       System.out.println("First name : " + first_name); 
       System.out.println("Middle name : " + middle_name); 
       System.out.println("Last name : " + last_name); 
      } 
     } 
} 
:ここ

は、問題のコードは二つの文「場合」 問題は、私は私の「MIDDLE_NAME」スキャナの長さを取得し、私が整理できるようになる変数にそれを置きたいです
+2

を持って空の()のみ。あなたの 'Scanner'のための単一の、別の変数を使用し、それを使用してユーザーから名前を取得してください。 – GriffeyDog

+2

3つの別々の 'Scanner'オブジェクトは必要ありません。次に、入力が必要なときに 'Scanner'で' nextLine'を呼び出します。 –

答えて

3

私はあなたが何をしたいのかを推測はこれです:

  1. は異なる行にIS用

  2. チェックMIDDLE_NAMEを読み込む1台のスキャナを持っていますあなたの名前の変数は `String`s、ない` Scanner`sする必要があります3つのSystem.out文

    public static void main(String[] args){ 
        Scanner in = new Scanner(System.in); 
    
        System.out.print("Enter your name : "); 
        String first_name = in.nextLine(); 
        System.out.print("Enter your middle name : "); 
        String middle_name = in.nextLine(); 
        System.out.print("Enter your last name : "); 
        String last_name = in.nextLine(); 
    
        System.out.println("First name : " + first_name); 
        if(!middle_name.isEmpty()) { 
         System.out.println("Middle name : " + middle_name); 
        } 
        System.out.println("Last name : " + last_name); 
    
        in.close(); 
    } 
    
関連する問題