A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© smile_joe 中级黑马   /  2013-4-22 00:14  /  1198 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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");
     }
  }
}
有没有更加简易的方法,.....

5 个回复

倒序浏览
曹睿翔 来自手机 金牌黑马 2013-4-22 01:11:13
沙发
你也没说题目需求吧,另外针对case没有结果没有需求可以不写的
哎,躺下睡不着,来看看
回复 使用道具 举报
非用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. }
复制代码
回复 使用道具 举报
曹睿翔 发表于 2013-4-22 01:11
你也没说题目需求吧,另外针对case没有结果没有需求可以不写的
哎,躺下睡不着,来看看 ...

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

if做法已经做出,就想知道看有没有用swith更好的方法,这方法怎么看都那么繁琐...
回复 使用道具 举报
稍后云版块会推出学习过程中问题以及对知识点的领悟收集!会有技术分奖励,敬请期待、多多参与,要注意按照进度收集问题,那样你会事半功倍。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马