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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 银离子 中级黑马   /  2014-12-19 18:04  /  1321 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下

的用C表示。

1.程序分析:(a>b)?a:b这是条件运算符的基本例子。

条件运算符的嵌套要怎么搞?

7 个回复

倒序浏览
import java.util.Scanner;
public class Demo {
    public static void main(String[]args){
    System.out.println("请输入成绩:");
    Scanner sc = new Scanner(System.in);
    int a = sc.nextInt();
    grade(a);
    }
   
    public static void grade(int a){
    if(a>100||a<0){
    System.out.println("输入的数据有误!");
    }else{
            //楼主所问的条件运算符的嵌套
    String s= (a>=90)?",A":(a>=60)?"分,B":"分,C";
    System.out.println(a+s);
    }
    }
    }
回复 使用道具 举报
1.条件运算符的含义:?之前的表达式值是boolean   如果是true就取:左边的,如果是false就取:右边的。
2.嵌套的话,可以在:两边分别用条件运算符
比如:int result = (a>b)?(b>c?a:b):(c>a?b:c)
解析:
如果a>b   那么result=b>c?a:b   如果b>c   result=a   如果b<c   result=b
如果a<b   那么result=c>a?b:c   如果c>a    result = b   如果c<a   result=c

就是用表达式代替值

回复 使用道具 举报
import java.util.Scanner;
public class Demo {
    public static void main(String[]args){
    System.out.println("请输入成绩:");
    Scanner sc = new Scanner(System.in);
    int a = sc.nextInt();
    grade(a);
    }
   
    public static void grade(int a){
    if(a>100||a<0){
    System.out.println("输入的数据有误!");
    }else{
            //楼主所问的条件运算符的嵌套
    String s= (a>=90)?",A":(a>=60)?"分,B":"分,C";
    System.out.println(a+s);
    }
    }
    }
回复 使用道具 举报
怎么出现个表情,表情换成:(
回复 使用道具 举报
额...没我的机会了
回复 使用道具 举报
cz萑 中级黑马 2014-12-19 21:32:07
7#
直接把a替换你想要的,但是必须是有结果的条件,比如:(a>b)?((a>c)?a:c):((b>c)?b:c)
回复 使用道具 举报
嗯,同意楼上的;P
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马