黑马程序员技术交流社区

标题: swith做这个题,有没有更简单的方法...... [打印本页]

作者: smile_joe    时间: 2013-4-22 00:14
标题: swith做这个题,有没有更简单的方法......
本帖最后由 smile_joe 于 2013-4-23 20:13 编辑

import java.util.*;

public class Score{
  public static void main(String args[]){
        
        Scanner sc = new Scanner(System.in);
        System.out.println("输入一个成绩:");
        //键盘得到一个整数
        int i=sc.nextInt();
        //除以10,返回int 小数为直接抛除
        int x=i/10;
        //选择语句获取答案
    switch (x) {
                        case 0: case 1: case 2:  case 3: case 4: //没有结果,没有需求

                        case 5: System.out.println("D");break;

                        case 6: System.out.println("C");break;
                        case 7:
                        case 8: if (i <85) { System.out.println("B"); break; }

                        case 9:

                        case 10: System.out.println("A");
     }
  }
}
有没有更加简易的方法,.....
作者: 曹睿翔    时间: 2013-4-22 01:11
你也没说题目需求吧,另外针对case没有结果没有需求可以不写的
哎,躺下睡不着,来看看
作者: 李志敏    时间: 2013-4-22 19:55
非用switch的话可以类似这么写,不过这样直接在if里就可以判断输出了
  1. public class Score {
  2.         public static void main(String args[]) {

  3.                 Scanner sc = new Scanner(System.in);
  4.                 System.out.println("输入一个成绩:");
  5.                 // 键盘得到一个整数
  6.                 int i = sc.nextInt();
  7.                 int x = 0;
  8.                 if (i < 50) {
  9.                         x = 0;
  10.                 } else if (i >= 50 && i < 60) {
  11.                         x = 1;
  12.                 } else if (i >= 60 && i < 85) {
  13.                         x = 2;
  14.                 } else if (i >= 85) {
  15.                         x = 3;
  16.                 }
  17.                 // 选择语句获取答案
  18.                 switch (x) {
  19.                 case 0:
  20.                         System.out.println("D");
  21.                         break;
  22.                 case 1:
  23.                         System.out.println("C");
  24.                         break;
  25.                 case 2:
  26.                         System.out.println("B");
  27.                         break;
  28.                 case 3:
  29.                         System.out.println("A");
  30.                 }
  31.         }
  32. }
复制代码

作者: smile_joe    时间: 2013-4-22 21:07
曹睿翔 发表于 2013-4-22 01:11
你也没说题目需求吧,另外针对case没有结果没有需求可以不写的
哎,躺下睡不着,来看看 ...

用swith有没有更简单的方法,这是在做题中遇到的,给出这个答案,但是感觉怎么那么繁琐...
作者: smile_joe    时间: 2013-4-22 21:08
李志敏 发表于 2013-4-22 19:55
非用switch的话可以类似这么写,不过这样直接在if里就可以判断输出了

if做法已经做出,就想知道看有没有用swith更好的方法,这方法怎么看都那么繁琐...
作者: 曹睿翔    时间: 2013-4-22 23:56
稍后云版块会推出学习过程中问题以及对知识点的领悟收集!会有技术分奖励,敬请期待、多多参与,要注意按照进度收集问题,那样你会事半功倍。





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2