简体   繁体   English

如何让用户输入他们的信息?

[英]How can I let a user input their info?

Is it possible to let a user input their first, middle initial, and last name in one method and then return all the fields?是否可以让用户在一个方法中输入他们的名字、中间名首字母和姓氏,然后返回所有字段?

    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

You can only return one thing from a method.您只能从方法中返回一件事。 But you COULD do something like this:但是你可以做这样的事情:

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();
}

The method returns nothing.该方法不返回任何内容。 But, the names will now be in the class-level variables, which are accessible throughout the class.但是,名称现在将位于类级变量中,可在整个类中访问。

You could do something like below, call the method iteratively to get your answer.您可以执行以下操作,迭代调用该方法以获得答案。 Let me know what are you trying to achieve by your code, so I could tune it accordingly.让我知道你想通过你的代码实现什么,所以我可以相应地调整它。 You could try doing it recursively to get it in your method itself, which is what you're trying to achieve, I presume.我想,您可以尝试递归地执行它以将其放入您的方法本身,这就是您要实现的目标。

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);
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM