// 根据用户输入的4位数判断是否为玫瑰花数。
// 玫瑰花数=个位^4+十位^4+百位^4+千位^4
// 分析:1.获取用户输入的数字: Scanner
// 2.判断用户输入的数字是否为4位数
// 3.将用户输入的数字进行分解,个位,十位,百位,千位
// 4.判断是否为玫瑰花数:玫瑰花数=个位^4+十位^4+百位^4+千位^4
public class Rose {
public static void main(String[] args) {
// 定义个位,十位,百位,千位
int g, s, b, q;
System.out.println("请输入一个四位数:");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
// 限定范围
if (1000 <= a && a <= 9999) {
// 个位
g = a % 10;
// 十位
s = a / 10 % 10;
// 百位
b = a / 100 % 10;
// 千位
q = a / 1000;
// 判断输入的那个数(a)是否是否满足(a=g*g*g*g+s*s*s*s+b*b*b*b+q*q*q*q)
if (a == Math.pow(g, 4) + Math.pow(s, 4) + Math.pow(b, 4)
+ Math.pow(q, 4)) {
System.out.println("这个数是玫瑰花数!");
} else
System.out.println("这个数不是玫瑰花数!");
} else
System.out.println("这个数不是玫瑰花数!");
}
}
2.
// 使用switch结构或多重if分支结构动态输出学员成绩所属等级
// 90~100:A类
// 80~90:B类
// 70~80:C类
// 60~70:D类
// 60以下:E类
// 分析:switch只能做等值判断,必须将指定分数段的分数转换成某一个具体数字才能进行比较。
// 100:除以10商为10
// 90~99:除以10商为9
// 80~90:除以10商为8
// ...
public class Grade {
/*
public static void main(String[] args) {
System.out.println("请输入一个分数");
Scanner sc = new Scanner(System.in);
double a = sc.nextDouble();
if (0 <= a && a <= 100) {
if (90 <= a && a <= 100) {
System.out.println("A级");
}
if (80 <= a && a < 90) {
System.out.println("B级");
}
if (70 <= a && a < 80) {
System.out.println("C级");
}
if (60 <= a && a < 70) {
System.out.println("D级");
}
if (0 <= a && a < 60) {
System.out.println("E级");
}
} else{
System.out.println("输出有误!");
}
}*/
//第二种方法
@Test
public void d(){
System.out.println("请输入一个分数");
Scanner sc = new Scanner(System.in);
double a = sc.nextDouble();
int b=(int)a/10;
if(0<=a&&a<=100){
switch(b){
case 10:
System.out.println("A级");
break;
case 9:
System.out.println("B级");
break;
case 8:
System.out.println("C级");
break;
case 7:
System.out.println("D级");
break;
case 6:
System.out.println("E级");
break;
default:
System.out.println("E级");
break;
}
}else{
System.out.println("输出错误!");
}
}
}