-1

When the user enters several names, I would like to break only if the user enters the value end.

I am trying this but it doesn't work.

Scanner sc = new Scanner (System.in);

    String name = "";

    while(name != "end"){
      System.out.print("Enter name : " + name);
      name = sc.next();
      if (name == "end") {
     break;
     }
   }
joel
  • 255
  • 1
  • 10
  • 1
    don't compare String (or any Object's) values by ==. – Stultuske Mar 20 '20 at 13:57
  • 1
    Also, use do/while instead of while, because you want the loop to execute at least once: `do { /* ... */ name = sc.next(); } while (!name.equals("end"));` – Andy Turner Mar 20 '20 at 13:59
  • 1
    In java programming language. use .equals method to compare objects. To provide custom method to compare objects of same class, override the .equals method. – Victor Mwenda Mar 20 '20 at 14:04

1 Answers1

0

Scanner sc = new Scanner (System.in);

Try the below:

 String name = "";

    while(!name.equals("end")){
      System.out.print("Enter name : " + name);
      name = sc.next();
      if (name.equals("end")) {
     break;
     }
   }
ashwinsakthi
  • 1,856
  • 4
  • 27
  • 56