2015-07-06 2 views
0

Я пытаюсь создать программу Java, которая преобразует имя человека из строчного в верхнее или наоборот. Это код, который у меня есть до сих пор. Моя проблема в том, что строчная инструкция if не работает, и я не уверен, что я делаю неправильно. Я новичок, и это самое дальнее, что я получил с рабочим кодом. Я хотел бы сохранить код простым, потому что это примерно столько, что я узнал до сих пор. Также приветствуются любые советы о том, как сократить этот код. БлагодаряМое, если для нижнего регистра в программе, которая преобразует имя человека из нижнего регистра в верхний или наоборот, не работает

import java.util.Scanner; 

public class ChangeCase { 

    public static void main(String[] args) { 
     System.out.print("Enter your first name: "); 
     Scanner scanFirstName = new Scanner(System.in); 
     String firstName = scanFirstName.next(); 

     System.out.print("Display your name in uppercase(U) " 
       + "or lowercase (L)? Enter U or L: "); 

     Scanner scanChoice = new Scanner(System.in); 

     String choice = scanChoice.next(); 

     if (choice.equalsIgnoreCase("u")) { 
      if (choice.equalsIgnoreCase("l")) { 
       String lower = firstName.toLowerCase(); 
       System.out.println("Your first name in lowercase is: " + lower); 
      } else { 
       String upper = firstName.toUpperCase(); 
       System.out.println("Your first name in uppercase is: " + upper); 
      } 
     } else { 
      System.out.println("Invalid entry - must be U or L."); 
     } 
    } 
} 
+3

'choice.equalsIgnoreCase («л»)' никогда не может быть правдой, потому что это проверяется только если 'выбор. equalsIgnoreCase ("и") '. – JJJ

ответ

1

Просто модифицирована ваши условия. Вот рабочий код.

if (choice.equalsIgnoreCase("l")) { 
    String lower = firstName.toLowerCase(); 
    System.out.println("Your first name in lowercase is: " + lower); 
} else if(choice.equalsIgnoreCase("u")){ 
    String upper = firstName.toUpperCase(); 
    System.out.println("Your first name in uppercase is: " + upper); 
} 
else { 
    System.out.println("Invalid entry - must be U or L."); 
} 

Условия нижнего регистра проверка

если (choice.equalsIgnoreCase ("л"))

был вложен в условии для верхнего регистра. Я просто переместил его, чтобы сделать два условия параллельными.

1

Используйте это как ваш код .... Ваш Если-то еще блок модифицированном ...

import java.util.Scanner; 

public class ChangeCase { 
public static void main(String[] args) { 
    System.out.print("Enter your first name: "); 
    Scanner scanFirstName = new Scanner(System.in); 
    String firstName = scanFirstName.next(); 

     System.out.print("Display your name in uppercase(U) " 
       + "or lowercase (L)? Enter U or L: "); 

     Scanner scanChoice = new Scanner(System.in); 

     String choice = scanChoice.next(); 

     if (choice.equalsIgnoreCase("u")) { 
      String upper = firstName.toUpperCase(); 
      System.out.println("Your first name in uppercase is: " + upper); 
     } 
     else if (choice.equalsIgnoreCase("l")) { 
       String lower = firstName.toLowerCase(); 
       System.out.println("Your first name in lowercase is: " + lower); 
      } 
     else { 
      System.out.println("Invalid entry - must be U or L."); 
     } 
    } 
} 
Смежные вопросы