下面是我的代码重点领域是案例1和案例2。考虑到我是初学者,请提供一些简单的方法来接受全名:
package Tester;
import java.util.Scanner;
import com.app.org.Emp;
import com.app.org.Mgr;
import com.app.org.Worker;
public class TestOrganization {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
System.out.println("How many people you want to recruit");
Emp[] org = new Emp[sc.nextInt()]; //holder array ...its not a emp object...its array type of object
boolean exit = false;
int index = 0;
while(!exit) {
System.out.println("Options\n"+"1.Hire Manager\n"+"2.Hire Worker\n"+"3.Display information of all employees\n"
+ "4.Update Performance Bonus or Hourly Rate");
switch (sc.nextInt()) {
case 1:{
if(index<org.length && index>=0) {
System.out.println("Manager Details: id, name, deptId, basic, performBonus");
org[index++] = new Mgr(sc.nextInt(),sc.nextLine(),sc.next(),sc.nextDouble(),sc.nextInt());
}else {
System.out.println("Invalid!!! index");
}
break;
}
case 2:{
if(index<org.length && index>=0) {
System.out.println("Worker Details: id, name, deptId, basic, hw, hr");
org[index++] = new Worker(sc.nextInt(),sc.nextLine(),sc.next(),sc.nextDouble(),sc.nextDouble(),sc.nextDouble());
}else System.out.println("invalid!!! index");
break;
}
case 3:{
System.out.println("Employees Details");
for (Emp e : org) {
if(e!=null)
System.out.println(e);
}
}
输入:您希望招聘多少人5个选项1.招聘经理2.招聘工人3.显示所有员工的信息4.更新绩效奖金或小时工资1.经理详细信息:id、姓名、部门id、基本、PerformBunus 101 samarth shukla
4条答案
按热度按时间zpgglvta1#
混合
nextInt
/nextDouble
/... 和nextLine
从扫描器上看总是个坏主意。这个nextInt
/nextDouble
/... 在流中保留换行符,这意味着nextLine
调用时,它只拾取换行符,这可能不是您想要的dsekswqp2#
除了我的评论之外,您还可以尝试使用
Integer.parseInt(read.nextLine())
对于整数和Double.parseDouble()
双倍。read.nextLine()
用于常规字符串输入dtcbnfnu3#
实际参数列表和形式参数列表的长度不同。最好先使用nextline(),然后再使用其余部分。
例如:-
s5a0g9ez4#
接受某些变量的输入并将其传递给对象构造函数。
查看此项了解更多死亡信息https://stackoverflow.com/a/13102066/7575841