**
Java 利用嵌套判断来完成成绩的等级判断
**
【程序 5】
- 题目:利用条件运算符的嵌套来完成此题:学习成绩> =90 分的同学用 A 表示,60-89 分之
- 间的用 B 表示,60 分以下的用 C 表示。
值得说的是:判断的时候,要从高的先判断着来。比如:因为大于90就一定不会进后面的大于60的判断。如果从小数来开始判断的话,在大于60的同时,你还得加小于90的条件,相对而言,变得多了一点点繁杂。
我程序只写了较为简单明了的三目运算符的方法,其余的比如通过常见的if···else···的方法就不写了,思路是类似的。
其余的源码注释已经足够详细,所以这里就不再多说了。如实在有不明白的,可联系我:qq:2530318393,或者留言。
另外:写作不易,转载请声明所属~~~~~~~~
下面奉上源码:
/**
* @program: 学习成绩(嵌套方式)
* @description: 条件运算符的嵌套实验程序入口
* @author: Mr.XiaoShi
* @create: 2020-09-01 22:00
**/
import java.util.Scanner;
/***
* 【程序 5】
* 题目:利用条件运算符的嵌套来完成此题:学习成绩> =90 分的同学用 A 表示,60-89 分之
* 间的用 B 表示,60 分以下的用 C 表示。
* */
/**
* 既然是做,就稍微把它做得全面一点吧,大多数都用的idea的自动生成的!也不算难敲。
* **/
public class Program {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in); //new一个接收输入的对象
studengt studengt = new studengt(); //new一个学生类
while (true)
{
System.out.print("请输入你的姓名:");
studengt.setName(scanner.next());
System.out.print("请输入你的学号:");
studengt.setSno(scanner.next());
System.out.print("请输入你的性别:");
studengt.setSex(scanner.next());
System.out.print("请输入你的班级:");
studengt.setClasss(scanner.next());
System.out.print("请输入你的成绩:");
studengt.setScore(scanner.nextDouble()); //录入信息
char level = studengt.getScore() >= 90? 'A' : studengt.getScore() >= 60? 'B' : 'C'; //利用三目运算符来嵌套完成判断
System.out.println(studengt.toString()+" 你的成绩等级为:"+level); //输出
}
}
}
/*学生类*/
class studengt{
private String name; //姓名
private String sno; //学号
private String sex; //性别
private String classs; //班级
private double score; //成绩
@Override
public String toString() { //重写toString方法
return "此学生的信息为{" +
"姓名='" + name + '\'' +
", 学号='" + sno + '\'' +
", 性别='" + sex + '\'' +
", 班级='" + classs + '\'' +
", 成绩=" + score +
'}';
}
/*下面是相关类属性的get与set方法*/
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getClasss() {
return classs;
}
public void setClasss(String classs) {
this.classs = classs;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
}
运行结果:
其实对于这个题目原本没有这么复杂的源码的,关键的就:
char level = studengt.getScore() >= 90? ‘A’ : studengt.getScore() >= 60? ‘B’ : ‘C’; //利用三目运算符来嵌套完成判断
这一行程序,其余的不理解也影响不大。关于学生类的属性定义用private来修饰是因为习惯了,听老师说的在实际项目开发中,为了安全性还是咋滴,不能让外部成员随意访问到,所以就跟着多了一大堆get()和set()方法。至于toString()方法就是为了方便输出这个类的成员信息的一个方法。可以自己写(自己写的话,字母别敲错哦!),也可以自动生成。
如果你是用的idea的话,自动生成的步骤在这里:
这最后一张图可以选择你所想要输出的成员。第二张图的第一个用于生成有参构造,同样的参数列表也可选。第二个get方法,第三个set方法,第四个get和set一起生成,第五个那个是用来比较两个对象是否相等的。
最后,拜拜!
上一篇:合数分解质因数
下一篇:求最大公约数与最小公倍数