如何修复while循环错误登录注销系统(无数据库)(还有关于会话时间的代码)?

我使用为我的学校作业提供的唯一用户名创建了一个基本的登录和注销系统(无数据库),但我在 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


--------------------


喵喵时光机
浏览 141回答 2
2回答

慕桂英4014372

要获得不同的 beetwen 登录时间和注销时间,您可以使用Durationjava8 中的类:loginTime = LocalDateTime.now();...logoutTime = LocalDateTime.now();Duration.between(loginTime, logoutTime).getSeconds();

人到中年有点甜

您正在返回错误级别 1,这是程序终止向操作系统返回错误的方式。我无法测试是因为我不使用 Windows,但您可以尝试System.exit(1)用System.exit(0).
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java