2014-03-13 5 views
0

Я новичок в этом, но? может ли кто-нибудь исправить мой первый оператор switch? Я не знаю, какое выражение использовать, чтобы начать дело: сЗаявление о смене Помогите мне Пожалуйста,

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

import java.io.*; 
    public class SwitchDemo { 
    public static void main(String[] args) { 


    BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 
    String input= br.readLine(); 

    System.out.println("Press Enter"); 
    System.out.println("a.Hello: Asks the name of the user."); 
    System.out.println("b.Array: Input elements and search for a specified key and prints a  message."); 
    System.out.println("c.MagicSquare: Displays [7][7] magic square."); 
    System.out.println("d.Bubble Sort: Alphabetically sorts 20 employees using bubble sort."); 
    System.out.println("e.Selection Sort: Alphabetically sorts 20 employees using selection sort"); 
    System.out.println("f.Insertion Sort: Alphabetically sorts 20 employees using Insertion sort"); 
    System.out.println("g.Factorial: Run the Factorial application"); 
    System.out.println("h.Triangle: Run the Triangle application."); 
    System.out.println("i.MergeSort: Performs the mergesort of a two class databasse."); 
    System.out.println("j.Stack_1: Perform reversal of string."); 
    System.out.println("k.Stack_2: Perform Infix Notation"); 
    System.out.println("l.Postfix: Perform Postfix Notation"); 
    System.out.println("m.Linked List"); 
    System.out.println("n.Queue:"); 
    System.out.println("o.Exit:"); 

     switch (input) { 
      case a: 

      String usersName;  
      String upperCaseName; 

      TextIO.put("Please enter your name: "); 
      usersName = TextIO.getln(); 

      upperCaseName = usersName.toUpperCase(); 

      TextIO.putln("Hello, " + upperCaseName + ", nice to meet you!"); 


        break; 
      case b: 
     // Code for b execution here. Run array. 
        break; 
      case c: 
     // Code for c execution here. magicsquare. 
        break; 
      case d: 
     // Code for d execution here. Bubble sort. 
        break; 
      case e: 
     // Code for e execution here. selection sort. 
        break; 
      case f: 
     // Code for f execution here. insertion sort. 
        break; 
      case g: 
     // Code for g execution here. recursion. 
        break; 
      case h: 
     // Code for h execution here. mergesort. 
        break; 
      case i: 
     // Code for b execution here. stack1. 
        break; 
      case j: 
     // Code for b execution here. stack2. 
        break; 
      case k: 
     // Code for b execution here. link list. 
        break; 
      default: 
     System.out.println("Please input selection from a-o"); 
        break; 
     } 

    } 
} 
+0

Вы не сказали нам, что вы пытаетесь сделать. Что такое 'a'? Что такое 'b'? –

+0

Какую версию java вы используете? – Jabir

+0

@SotiriosDelimanolis буквы предназначены для выбора: вы выбираете письмо, а другие программы будут работать сэром. – user3409232

ответ

1

Как уже упоминалось, используя

switch(input) { 
    case "a": 
     // do stuff 
     break; 
    case "b": 
     // do more stuff 
     break; 
} 

будет работать. Просто другое дело, если вы работаете в Java 7 (Java -version), вы должны быть в состоянии избавиться от

BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 

и заменить его

Scanner in = new Scanner(System.in); 
String input = in.nextLine(); 

Который по крайней мере, для меня это намного проще в использовании. Просто импортируйте

import java.util.Scanner; 
+0

im kinda работает с этим сэром, спасибо, и btw sir, случай «a» уже объявлен в моей команде «Строки» [], поэтому я не могу использовать его, поскольку я все еще настраиваю сэра, im verry извините за то, что newbie :( – user3409232

+0

Я вижу, что это просто для общего использования. Вы можете поместить что-нибудь там, где он говорит, что-то делать. В вашем случае вы бы поставили то, что у вас есть. – Evan

0

Вы не проверяет случаи как строки (вы объявите вход в строка). Вы вызываете переменные под названием a, b и т. Д. Попробуйте помещать их в кавычки, как в case: "a".

1

Пару моментов здесь

заявления случая, как это (до 1.7)

char input = 'a'; 

switch (input) { 
case 'a': 
    break; 
default : 
    System.out.println("default"); 

} 

для Java 1.7 и далее вы можете также переключиться на струнных

String input = "a"; 

switch (input) { 
case "a": 
    printHelloUser(); 
    break; 
default : 
    System.out.println("default"); 

} 

void printHelloUser() { 
     String usersName;  
     String upperCaseName; 

     TextIO.put("Please enter your name: "); 
     usersName = TextIO.getln(); 

     upperCaseName = usersName.toUpperCase(); 

     TextIO.putln("Hello, " + upperCaseName + ", nice to meet you!"); 


} 

вы можете также Прежде всего, перед тем, как прочитать ее ввод, сначала нужно рассмотреть вопрос о том, нужно ли пользователю prompting.

+0

Приведите пример использования строк, и ваш ответ будет достаточно полным для увеличения;) – Aarowaim

+0

где бы команды идут сэр? как мир привет? любой пример вида сэр в формате? спасибо большое – user3409232

+0

@Aarowaim Он уже существует 7 минут назад. Этот бит внизу используется Strings. –