0

学校の宿題用に指定された唯一のユーザー名を使用して、基本的なログインおよびログアウト システム (データベースなし) を作成しますが、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

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

Date and Time of logout:
2019/02/03 16:38:46
Session Time:
(This must show how many minutes and seconds a client uses the program)

--------------------
Do you want to register again? 0 for yes and 1 for no
0
Enter your name:

間違っており、後で修正されます。

Enter your name:
name
--------------------

Date and Time of login:
2019/02/03 16:38:46

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

Enter your name to log out:
nmae

Enter your name to log out:
name

しかし、2 番目のループ、3 番目のループなどで、プログラムは「ログアウトするには名前を入力してください」と「もう一度登録しますか? はいの場合は 0、いいえの場合は 1」と尋ねてきます。私の名前を尋ねる代わりに、「名前を入力してください」の部分が表示されます。

そして、終了するために 0 を入力すると、このエラーが表示されましたC:\Users\DELL\AppData\Local\NetBeans\Cache\10.0\executor-snippets\run.xml:111: The following error occurred while executing this line: C:\Users\DELL\AppData\Local\NetBeans\Cache\10.0\executor-snippets\run.xml:94: Java returned: 1

4

2 に答える 2

0

エラーレベル1を返しています。これは、プログラムが終了してOSにエラーを返す方法です。Windows を使用していないため、テストできませんが、 に置き換えSystem.exit(1)てみてくださいSystem.exit(0)

于 2019-02-03T09:45:13.967 に答える