JBTALKS.CC

标题: 关于switch statement的问题请帮帮忙~ [打印本页]

作者: duaduawind    时间: 2010-10-8 11:11 PM
标题: 关于switch statement的问题请帮帮忙~
Write a program to ask user to enter department name. The program needs to display a department’s telephone extension based on the department name entered by the user. Use the following table to determine the appropriate telephone extension. The program should display an error message when the department does not appear in the table. Use switch statement for this question.
Account                                   234
Personnel                                168
IT                                                348
Mechanical Engineering        932
Marketing                                 427
请问如果用JOptionPane的话,得到input之后(例如Account),要怎样放进switch statement来display???
作者: 宅男-兜着走    时间: 2010-10-9 01:35 AM
本帖最后由 宅男-兜着走 于 2010-10-9 01:39 AM 编辑
Write a program to ask user to enter department name. The program needs to display a department’s t ...
duaduawind 发表于 2010-10-8 11:11 PM

  1. import javax.swing.JOptionPane;
  2. /**
  3. *
  4. * @author JuniorT
  5. */


  6. public class Main {
  7. public enum Department
  8. {
  9.     account,
  10.     personnel,
  11.     it,
  12.     mechanicalengineering,
  13.     marketing,
  14. }

  15.     /**
  16.      * @param args the command line arguments
  17.      */
  18.     public static void main(String[] args) {
  19.         JOptionPane dialog = new JOptionPane();
  20.         String extensionNum = dialog.showInputDialog("Please enter your message");
  21.         
  22.         switch(Department.valueOf(extensionNum.replace(" ", "").toLowerCase()))
  23.         {
  24.             case marketing:
  25.                 System.out.println("Extension 427");
  26.                 break;
  27.             case personnel:
  28.                 System.out.println("Extension 168");
  29.                 break;
  30.             case it:
  31.                 System.out.println("Extension 348");
  32.                 break;
  33.             case mechanicalengineering:
  34.                 System.out.println("Extension 932");
  35.                 break;
  36.             case account:
  37.                 System.out.println("Extension 234");
  38.                 break;
  39.             default:
  40.                 System.out.println("Department does not appear in the table");
  41.                 break;
  42.         }
  43.    }
  44. }

复制代码
Java Switch 是不允许 String 放进去 Switch 的, 但是你却能使用另外个手段。
那就是 转换成 ENUM 来 Compare。

这个问题果然有问题。
作者: duaduawind    时间: 2010-10-9 01:56 AM
本帖最后由 duaduawind 于 2010-10-9 02:04 AM 编辑
Java Switch 是不允许 String 放进去 Switch 的, 但是你却能使用另外个手段。
那就是 转换成 ENUM 来 Com ...
宅男-兜着走 发表于 2010-10-9 01:35 AM



    谢谢你~不过我只学到基本的~enum是什么我都不懂~这个是题目本身有问题吗?
话说你貌似也是南院的哦?
作者: 宅男-兜着走    时间: 2010-10-9 02:18 AM
谢谢你~不过我只学到基本的~enum是什么我都不懂~这个是题目本身有问题吗?
话说你貌似也是南院的 ...
duaduawind 发表于 2010-10-9 01:56 AM


是,我是你学长
对, 问题有点矛盾, 如果Enum 不懂是什么, 花点时间去研究的话, 慢慢就会了 。

不过放心, 学校不会教太多Coding, 你要自己慢慢摸
(过来人)
作者: duaduawind    时间: 2010-10-9 02:39 AM
是,我是你学长
对, 问题有点矛盾, 如果Enum 不懂是什么, 花点时间去研究的话, 慢慢就会 ...
宅男-兜着走 发表于 2010-10-9 02:18 AM



    原来~那我不是死~这个是assignment的题目咧~
而且最近我发现到老师出的题目都还没教到的~
作者: 宅男-兜着走    时间: 2010-10-9 12:21 PM
原来~那我不是死~这个是assignment的题目咧~
而且最近我发现到老师出的题目都还没教到的~
duaduawind 发表于 2010-10-9 02:39 AM


没办法== 我们以前也是酱的, 他的用意只是叫我们去思考。

没用脑去做题目, 永远不会进步。




欢迎光临 JBTALKS.CC (https://www.jbtalks.cc/) Powered by Discuz! X2.5