我使用为我的学校作业提供的唯一用户名创建了一个基本的登录和注销系统(无数据库),但我在 while 循环和会话时间方面遇到了问题。我尝试将一组代码复制并粘贴到此主代码的不同部分,以便获得预期的结果,但结果有点错误。我试图在互联网上搜索有关会话时间的信息,但一无所获。 while (login = true){ try { System.out.println("Enter your name:"); String name = cue.nextLine(); System.out.println("--------------------"); System.out.println(""); System.out.println("Date and Time of Login:"); System.out.println(dtf.format(now)); System.out.println(""); System.out.println("--------------------"); System.out.println(); System.out.println("Enter your name to log out:"); String logout = cue.nextLine(); System.out.println(""); if (logout.equals(name)){ System.out.println("--------------------"); System.out.println(""); System.out.println("Date and Time of Logout:"); System.out.println(dtf.format(now)); System.out.println("Session Time:"); /*can you also please tell me what code to tell the gap between the login time and log out time?*/ System.out.println(""); System.out.println("--------------------"); login = false; } else { login = true; } } catch (Exception e){ cue.nextLine(); } finally{ System.out.println("Do you want to register again? 0 for yes and 1 for no"); int no = cue.nextInt(); if (no==0) { login = true; } else if (no==1) { System.exit(1); } else { System.out.println("1 or 0 only!"); } }}这必须是预期的输出:如果名称正确:Enter your name:nmae--------------------Date and Time of login:2019/02/03 16:38:46--------------------Enter your name to log out:nmae--------------------
2 回答
慕桂英4014372
TA贡献1871条经验 获得超13个赞
要获得不同的 beetwen 登录时间和注销时间,您可以使用Durationjava8 中的类:
loginTime = LocalDateTime.now();
...
logoutTime = LocalDateTime.now();
Duration.between(loginTime, logoutTime).getSeconds();
人到中年有点甜
TA贡献1895条经验 获得超7个赞
您正在返回错误级别 1,这是程序终止向操作系统返回错误的方式。我无法测试是因为我不使用 Windows,但您可以尝试System.exit(1)用System.exit(0).
添加回答
举报
0/150
提交
取消
