我在使用Java方法时遇到了麻烦。这段代码应该有三种方法。方法1)输入员工人数。方法2)输入每个员工缺勤天数。方法3)计算缺勤天数的平均值。然后,在Main中,应该打印员工人数、缺勤天数和平均缺勤天数。显然,我不明白方法是如何工作的,因为当我运行代码时,用户在提供员工人数、缺勤天数和平均缺勤天数之前,会被询问4倍的员工人数和2倍的员工缺勤天数。如何更改代码,以便用户只需输入一次信息?
public static void main(String[] args) {
/** Asks for the # of employees and their days absent using
3 methods. 1) Requests number of employees, 2) # of days absent, 3)
Average # of days absent)*/
int numEmployeeM, numDaysMissedM;
double averageNumDaysAbsentM;
numEmployeeM = numEmployee();
numDaysMissedM = numDaysMissed(numEmployeeM);
averageNumDaysAbsentM = averageNumDaysAbsent(numEmployeeM,
numDaysMissedM);
System.out.println("\n\tTotal number of employees: " + numEmployeeM +
"\n\tTotal number of days missed: " + numDaysMissedM +
"\n\tAverage number of days absent: " + averageNumDaysAbsentM);
}
public static int numEmployee() {
Scanner keyboard = new Scanner(System.in);
int numEmployee;
System.out.print("Number of employees in company:");
numEmployee = keyboard.nextInt();
return numEmployee;
}
public static int numDaysMissed(int numEmployee1) {
Scanner keyboard = new Scanner(System.in);
int count, numDaysMissed, totalNumDaysMissed;
count = 1;
totalNumDaysMissed = 0;
numEmployee1 = numEmployee();
while (count <= numEmployee1) {
System.out.print("Enter number of days missed by Employee #"
+ count + ": ");
numDaysMissed = keyboard.nextInt();
totalNumDaysMissed += numDaysMissed;
count++;
}
return totalNumDaysMissed;
}
public static double averageNumDaysAbsent(int numEmployee2,
int totalNumDaysMissed1) {
double averageDaysMissed;
numEmployee2 = numEmployee();
totalNumDaysMissed1 = numDaysMissed(numEmployee2);
averageDaysMissed = (totalNumDaysMissed1 / numEmployee2);
return averageDaysMissed;
}
简化代码以查看什么调用什么:
void main(String[] args)
{
numEmployeeM = numEmployee();
numDaysMissedM = numDaysMissed(numEmployeeM);
averageNumDaysAbsentM = averageNumDaysAbsent(numEmployeeM, numDaysMissedM);
}
int numEmployee()
{
}
int numDaysMissed(int numEmployee1)
{
numEmployee1 = numEmployee();
}
double averageNumDaysAbsent(int numEmployee2, int totalNumDaysMissed1)
{
numEmployee2 = numEmployee();
totalNumDaysMissed1 = numDaysMissed(numEmployee2);
}
所以当你的代码执行时,它会调用
这给出了预期的总计数为1x平均数NumDaysAbent
,2xNumDaysMisse
和4xNum雇员
在numDaysMissed
和averageNumDaysAbsent
中,您正在覆盖输入参数,使它们变得无用
试着去掉这些线,它应该会像预期的那样工作
问题内容: 我想我在这里描述的可能有个名字,但我不知道。所以我的第一个问题是要知道这种技术的名称。 这是一个示例:假设您正在网页上实现实时搜索。每次用户在搜索框中键入内容时,您都会触发一个新的搜索查询,并且结果会尽可能频繁地更新。这是一件愚蠢的事情,因为您发送的查询会超出实际需要。每2-3个字母发送一次请求,或者每100 ms最多发送一次请求就足够了。 因此,一种技术是安排在键入键之后立即执行的查
我想计算在过去 30 分钟内调用方法的次数。 目前,我使用redis记录每个带有ttl的调用,因此每次调用都会增加。然而,我希望能够在Java中完全做到这一点,而不需要使用外部工具。 任何人都可以帮忙吗? 谢谢。
本文向大家介绍Java调用方法,包括了Java调用方法的使用技巧和注意事项,需要的朋友参考一下 示例 使用反射,可以在运行时调用对象的方法。 该示例显示了如何调用String对象的方法。
我有一些大型公司Spring项目对我来说是未知的,我需要在上面执行这种任务: “我有方法A和方法B,在方法A的执行过程中,可以调用方法B吗?” 我发现IntelliJ思想中有函数方法调用层次结构。我可以在方法B上执行这个函数并生成调用层次结构,在这里我可以为方法A执行serarch。不幸的是,在计算这个层次结构时,IntelliJ冻结了,因为它太大了,工作5个小时后就崩溃了。 我需要比Intell
我试图验证一个(void)方法是否在DAO内部被调用--我正在使用一个提交点,该点发送到该点的结果列表,重置该列表并继续。假设我在列表中有4件事情,并且我有一个提交点1,我希望“send”方法被调用4次。我可以通过编写 它通过了..但我想验证它被调用的次数。我会认为 就足够了,但它说参数对验证不正确。 顺便提一下,如果我将更改为或,我会得到相同的错误。对此有什么想法?
本文向大家介绍Java通过PropertyDescriptor反射调用set和get方法,包括了Java通过PropertyDescriptor反射调用set和get方法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了PropertyDescriptor反射调用set和get方法,供大家参考,具体内容如下 第一段: 第二段: 第三段: 以上就是本文的全部内容,希望对大家的学习有所帮助