Java 使用循环接受额外的用户输入,直到用户输入结束输入的值
我是Java新手。我需要一些关于使用循环接受额外用户输入的帮助,直到用户输入结束输入的值。我的问题从语句“System.out.println”(“您完成了吗?请输入大写的Y/N”)的行开始,下面是我的代码 公共类雇员数据{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
//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.");