2017-10-24 5 views
1

ユーザーが1つの方法で最初、中間の姓と名字を入力してから、すべてのフィールドを返すことは可能ですか?ユーザーに情報を入力させるにはどうすればよいですか?

import java.util.Scanner; 

    public class name { 
     // firstName middleInitial and lastName 
     // toUpperCase for names 

    String firstName, midddleInitial, lastName; 

    public name(String firstName, String middleInitial, String lastName) { 
     Scanner scanner = new Scanner(System.in); 
     System.out.println("Enter First Name:"); 
     String firstName = scanner.nextLine(); 

     System.out.println("Enter Middle Initial:"); 


     System.out.println("Enter Last Name:"); 

     return firstName; 
     return middleInital; 
     return lastName; 
    } 
} // end of name class 
+0

自分自身に2つの質問をしてください。 "名前はどのようにユーザーによって入力され、保存されていますか?"次に、「引用符で物を印刷することができれば、どのように名前を印刷できますか?」と尋ねる。 'return'は答えではありません –

+0

なぜコンストラクタから何かを返すのですか?その目的は、インスタンスを初期化することです。あなたのコードの1つの問題は、 'firstName = ...'の代わりに*ローカル*変数 'String firstName = ...'にユーザ入力を割り当てることです(または 'this.firstName = ...'をもっと冗長にする) 。 – Pshemo

答えて

1

メソッドからは1つだけ返すことができます。しかし、あなたは次のようなことをすることができます:

String firstName, midddleInitial, lastName; 

public void inputName() { 
    Scanner scanner = new Scanner(System.in); 

    System.out.println("Enter First Name:"); 
    firstName = scanner.nextLine(); 

    System.out.println("Enter Middle Initial:"); 
    midddleInitial = scanner.nextLine(); 

    System.out.println("Enter Last Name:"); 
    lastName = scanner.nextLine(); 
} 

このメソッドは何も返しません。しかし、名前はクラス全体でアクセス可能なクラスレベルの変数になります。

0

あなたは以下のようなことができます。あなたの答えを得るためにメソッドを繰り返し呼び出すことができます。あなたのコードで何を達成しようとしているのか教えてください。私はそれに合わせて調整することができます。 あなたはそれをあなた自身の方法で得るために再帰的にやってみることができます。これはあなたが達成しようとしているものです。

static String firstName; 
static String middleInitial; 
static String lastName; 

private static int i; 


public static String name() { 
    System.out.print("i"+i); 
    if(i==1) 
    {Scanner scanner =new Scanner(System.in); 
     System.out.println("Enter First Name:"); 
    firstName = scanner.nextLine(); 
    return firstName; 
    } 
    else if(i==2) 
    { 
     Scanner scanner =new Scanner(System.in); 
     System.out.println("Enter Middle Name:"); 
     middleInitial = scanner.nextLine(); 
     return middleInitial; 
    } 
    else 
    { 
     Scanner scanner =new Scanner(System.in); 
     System.out.println("Enter Last Name:"); 
     lastName = scanner.nextLine(); 
     return lastName; 
    } 
} 

public static void main(String[] args) 
{ 
    i=1; 
    if(i==1) 
    { 
     String name1=name(); 
     System.out.print("1"+name1); 
     i=2; 
    } 
    if(i==2) 
    { 
     String name2=name(); 
     System.out.print("2"+name2); 
     i=3; 
    } 
    if(i==3) 
    { 
     String name3=name(); 
     System.out.print("3"+name3); 
    } 
} 
関連する問題