如果跳过条件这个代码有什么问题?

0 java

import java.util.*;
public class TimeFormat {

public static void main(String args[]) {
   Scanner sc=new Scanner(System.in);
   System.out.println("Enter your Name.");
   String name=sc.nextLine();
   System.out.println("Enter the time format either it is AM or PM");
   String format=sc.nextLine();
   System.out.println("Enter hour time.");
   int hrs=sc.nextInt();
   System.out.print(":");
   int min=sc.nextInt();

    if(format.equals("PM")&&format.equals("pm")) {
        if(hrs>=12&&hrs<=5&&min>1) {
          System.out.println("Good afternoon "+name);
        }
        else if(hrs>=5&&hrs<=8) {
          System.out.println("Good evening "+name);
        }
        else if(hrs<=12&&hrs>=8&&min<59) {
          System.out.println("Goodnight "+name);
        }
    }
    else {
       System.out.println("Good Morning "+name);
     }
   }
}
Run Code Online (Sandbox Code Playgroud)

请命令行始终跳过if条件.我是java新手,请帮帮我.好的但是如果声明已经创造了问题那么我认为.请问我该如何改进此代码.

Era*_*ran 5

format永远不能等于"pm"和(&&)"PM".要么使用OR(||),要么更好地使用:

if (format.equalsIgnoreCase("PM"))
Run Code Online (Sandbox Code Playgroud)

这将涵盖"PM","pm","Pm"和"pM".