我是Java的新手 . 我需要一些帮助,使用循环接受其他用户输入,直到用户输入结束输入的值 . 我的问题从语句“System.out.println(”你完成了吗?输入大写的Y / N)开始 . 下面是我的代码 .
公共类EmployeeData {
//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;
}
}
import 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.");
}
}
}
3 回答
你需要一个循环 . 不要在这里调用
Scanner.next()
(它不会消耗尾随空格) . 我会添加一个对String.toUpperCase()
的调用 . 最后,要回答您的问题,请使用while
循环 . 并且您可以在测试角色不是N
之前执行分配 . 喜欢,完成所需操作后,使用
while loop
并提示输入 . 循环将重复 until 满足某个条件 . 即,直到用户在提示中输入条件(您可以将其放在执行块的末尾)这是编程的基础知识,但正如您所说,您是Java的新手 - 建议您一般性地阅读
recursive functions
,然后按照递归方法实现它 .