Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用循环接受额外的用户输入,直到用户输入结束输入的值_Java - Fatal编程技术网

Java 使用循环接受额外的用户输入,直到用户输入结束输入的值

Java 使用循环接受额外的用户输入,直到用户输入结束输入的值,java,Java,我是Java新手。我需要一些关于使用循环接受额外用户输入的帮助,直到用户输入结束输入的值。我的问题从语句“System.out.println”(“您完成了吗?请输入大写的Y/N”)的行开始,下面是我的代码 公共类雇员数据{ //declare variables private String firstName; private String lastName; private int id; private double hourlyWage; //constructors public

我是Java新手。我需要一些关于使用循环接受额外用户输入的帮助,直到用户输入结束输入的值。我的问题从语句“System.out.println”(“您完成了吗?请输入大写的Y/N”)的行开始,下面是我的代码

公共类雇员数据{

//declare variables
private String firstName;
private String lastName;
private int id;
private double hourlyWage;

//constructors
public EmployeeData(String firstName, String lastName, int id, double hourlyWage){

    this.firstName = firstName;
    this.lastName = lastName;
    this.id = id;
    this.hourlyWage = hourlyWage;
}

// getters and setters

public String getFirstName() {
    return firstName;
}

public void setFirstName(String firstName) {
    this.firstName = firstName;
}

public String getLastName() {
    return lastName;
}

public void setLastName(String lastName) {
    this.lastName = lastName;
}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public double getHourlyWage() {
    return hourlyWage;
}

public void setHourlyWage(double hourlyWage) {
    this.hourlyWage = hourlyWage;
}

//method to return string
public String toString(){
    return "Employee Name: " + this.firstName +" "+ this.lastName + "\n"+ "Employee ID: " +this.id + "\n"+ "Hourly Wage "+ this.hourlyWage;
}
}

导入java.util.Scanner

公营雇员{

public static void main(String[] args){


    String firstName;
    String lastName;
    int id;
    double hourlyWage;

    Scanner input = new Scanner(System.in);
    System.out.println("Enter your First Name");
    firstName = input.nextLine();
    System.out.println("Enter your Last Name");
    lastName = input.nextLine();
    System.out.println("Enter your ID Number");
    id = input.nextInt();
    System.out.println("Enter your Hourly Wage");
    hourlyWage = input.nextDouble();


    EmployeeData em1 =  new EmployeeData("firstName" , "lastName" , id, hourlyWage);

    em1.setFirstName(firstName);
    em1.setLastName(lastName);
    em1.setId(id);
    em1.setHourlyWage(hourlyWage);



    String x = em1.toString();
    System.out.println(x);


    System.out.println("Are you are finished? Enter Y/N in uppercase");
    char c = input.next().charAt(0);
    if(c == 'N'){
        System.out.println("Enter your First Name");
        firstName = input.nextLine();
        System.out.println("Enter your Last Name");
        lastName = input.nextLine();
        System.out.println("Enter your ID Number");
        id = input.nextInt();
        System.out.println("Enter your Hourly Wage");
        hourlyWage = input.nextDouble();


        EmployeeData em2 =  new EmployeeData("firstName" , "lastName" , id, hourlyWage);

        em2.setFirstName(firstName);
        em2.setLastName(lastName);
        em2.setId(id);
        em2.setHourlyWage(hourlyWage);



        String z = em2.toString();
        System.out.println(z);
    }
    else{
        System.out.println("You have finished.");
    }



}

}

使用
while循环
并在完成所需操作后提示输入。循环将重复,直到满足某个条件。即,直到用户在提示中输入条件(您可以将其放在执行块的末尾)


这是编程的基础,但是正如您所说的,您是Java新手-建议您阅读有关递归函数的一般知识,然后按照递归方法实现它。

您需要一个循环。不要在这里调用
Scanner.next()
(它不会占用尾随空格)。我将添加对
String.toUpperCase()
的调用。最后,要回答您的问题,请使用
while
循环。您可以在测试字符是否为
N
之前执行赋值。例如

char c;
while ((c = input.nextLine().toUpperCase().charAt(0)) != 'N') {
    System.out.println("Enter your First Name");
    firstName = input.nextLine();
    System.out.println("Enter your Last Name");
    lastName = input.nextLine();
    System.out.println("Enter your ID Number");
    id = input.nextInt();
    System.out.println("Enter your Hourly Wage");
    hourlyWage = input.nextDouble();

    EmployeeData em2 = new EmployeeData("firstName", "lastName", id, hourlyWage);

    em2.setFirstName(firstName);
    em2.setLastName(lastName);
    em2.setId(id);
    em2.setHourlyWage(hourlyWage);

    // String z = em2.toString();
    System.out.println(em2);
}
System.out.println("You have finished.");

请不要发布代码的图像。编辑您的文章。将代码粘贴到此处。高亮显示,按ctrl-k。您需要一个while循环,我在您的中没有看到code@ElliottFrisch我已将我的全部代码粘贴到这里
char c;
while ((c = input.nextLine().toUpperCase().charAt(0)) != 'N') {
    System.out.println("Enter your First Name");
    firstName = input.nextLine();
    System.out.println("Enter your Last Name");
    lastName = input.nextLine();
    System.out.println("Enter your ID Number");
    id = input.nextInt();
    System.out.println("Enter your Hourly Wage");
    hourlyWage = input.nextDouble();

    EmployeeData em2 = new EmployeeData("firstName", "lastName", id, hourlyWage);

    em2.setFirstName(firstName);
    em2.setLastName(lastName);
    em2.setId(id);
    em2.setHourlyWage(hourlyWage);

    // String z = em2.toString();
    System.out.println(em2);
}
System.out.println("You have finished.");