黑马程序员技术交流社区

标题: 一道题和一个问题 [打印本页]

作者: 银离子    时间: 2014-12-19 18:04
标题: 一道题和一个问题
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下

的用C表示。

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

条件运算符的嵌套要怎么搞?
作者: 还在路上    时间: 2014-12-19 18:20
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);
    }
    }
    }
作者: duluhua    时间: 2014-12-19 18:22
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

就是用表达式代替值


作者: 还在路上    时间: 2014-12-19 18:23
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);
    }
    }
    }
作者: 还在路上    时间: 2014-12-19 18:24
怎么出现个表情,表情换成:(
作者: sweet凌风    时间: 2014-12-19 19:28
额...没我的机会了
作者: cz萑    时间: 2014-12-19 21:32
直接把a替换你想要的,但是必须是有结果的条件,比如:(a>b)?((a>c)?a:c):((b>c)?b:c)
作者: 擒贼先擒王    时间: 2014-12-19 21:36
嗯,同意楼上的;P




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