2017-09-26 2 views
-4

Ich versuche, ein Programm zu machen, das dem Benutzer erlaubt, seinen Vornamen, zweiten Vornamen und Familiennamen einzugeben, aber der Haken ist, dass er wählen kann, seinen zweiten Vornamen und das Programm nicht einzugeben herauszufinden, dass in diesem Fall nur der Vor- und Nachname angezeigt werden soll. Das Problem ist, ich die Länge meiner „middle_name“ Scanner erhalten möchten und setzen das in eine Variable, die mich zwei aussortieren erlauben würde, „wenn“ AussagenAusarbeiten meines Codes in Java

Hier ist der Code in Frage:

import java.util.Scanner; 

public class Names { 

     public static void main(String[] args){ 
      System.out.print("Enter your name : "); 
      Scanner first_name = new Scanner(System.in); 
      System.out.print("Enter your middle name : "); 
      Scanner middle_name = new Scanner(System.in); 
      System.out.print("Enter your last name : "); 
      Scanner last_name = new Scanner(System.in); 
      int x = Integer.parseInt(middle_name); 
      if(x == 0) { 
       System.out.println("First name : " + first_name); 
       System.out.println("Last name : " + last_name); 
      } 
      if(x > 0) { 
       System.out.println("First name : " + first_name); 
       System.out.println("Middle name : " + middle_name); 
       System.out.println("Last name : " + last_name); 
      } 
     } 
} 
+2

Ihr Name Variablen sollten 'String's, nicht' Scanner's sein. Verwenden Sie eine einzelne, separate Variable für Ihren 'Scanner' und nutzen Sie diese, um die Namen vom Benutzer zu erhalten. – GriffeyDog

+2

Sie brauchen nicht drei separate "Scanner" -Objekte - nur eines wird ausreichen. Dann rufen Sie 'nextLine' auf Ihrem' Scanner' auf, wenn Sie eine Eingabe benötigen. –

Antwort

3

ich denke, was Sie wollen, dies zu tun ist:

  1. haben einen Scanner, die für verschiedene Linien

  2. Check middle_name liest ist Empty() und haben nur drei System.out Aussagen

    public static void main(String[] args){ 
        Scanner in = new Scanner(System.in); 
    
        System.out.print("Enter your name : "); 
        String first_name = in.nextLine(); 
        System.out.print("Enter your middle name : "); 
        String middle_name = in.nextLine(); 
        System.out.print("Enter your last name : "); 
        String last_name = in.nextLine(); 
    
        System.out.println("First name : " + first_name); 
        if(!middle_name.isEmpty()) { 
         System.out.println("Middle name : " + middle_name); 
        } 
        System.out.println("Last name : " + last_name); 
    
        in.close(); 
    } 
    
Verwandte Themen